cached html pages and dynamic content - ajax

I have a caching plugin that creates static html pages from my php/mysql driven site.
On the homepage I've a listing of content <ul><li>content</li></ul>
I've a drop-wdown (select), that loads different set of content.
Obviously this isn't playing well with caching plugin.
I'm don't have website yet, I'm in the thinking phase and I'm trying to understand what problems I might face... could you help me with this little part I explained above?

Not 100% sure what you mean; but you should be able to stop browser caching by adding a random GET variable into the URL. Like time() for example; your browser should see it as a different page.

Related

How can I make my AngularJS Wordpress AJAX blog searchable and SEO-friendly?

I'm working on a Wordpress site which displays posts through a JSON api and AngularJS. I render all post thumbnails on a page and when one is clicked the post is rendered in an overlay on the same page. The post url becomes something like mysite.com/#!/post-name.
Here's the development page http://givakt.kund.griffel.se/blogg-jobb/
Since everything is fetched by AJAX calls none of this info is available to search engines. I have tried to figure out a good approach to make it indexable but it's all very new ground to me.
Would it be possible to get content from or redirect the search engine to a php-rendered (wordpress) page, say like mysite.com/post-name, while thinking it's getting the correct content at mysite.com/#!/post-name. Is it even allowed or even frowned upon? The actual content would of course be as identical as possible at both sources.
Not sure if this is legit approach however, or if it could even work. Is there any other easier or preferred approach that I'm missing?
BTW, I have read http://www.yearofmoo.com/2012/11/angularjs-and-seo.html and how to use PhantomJS and so on to provide indexable pages. So what I'm basically asking is if there's a way to utilize wordpress pages to serve the content instead.
I'm not exactly sure how to do it in terms of technicalities, but Google is usually not happy if you show one version of the page to search engines and something else to actually visitors. It's called cloaking. Just keep it in mind.

Serve dedicated HTML page to Google crawler without changing the URL to make for dynamic content

My website is in javascript with dynamically generated content on top of a fixed HTML frame. To make Google aware of the content I use the _escaped_fragment_ trick and track on the server side when to serve fixed content instead of dynamic. It all works well for the sub pages as long as they are linked with #!, which is the case for all pages but the homepage.
I obviously want to keep the homepage without an ugly #! at the end of the URL.
So far the only solution I can think of is to serve the homepage with fixed content instead of Ajax generated one for everyone.
I would rather keep the Google dedicated version branch separate from the common version as I don't maintain it as much, especially in terms of CSS and navigation, which do not matter that much.
Is there a way to figure out that it is Google crawling the website and serve a static version instead?
The solution is to add the meta tag:
<meta name="fragment" content="!">
More details there.

AJAX URLs & URL Rewriting

I am starting to set up a personal website, and I would like it's layout to look something like
-------------------------------
- Page Header & Menus Go Here -
-------------------------------
- Main Contents -
-------------------------------
- Footers -
-------------------------------
The main question is that I would like it to be a single-page interface in which the main contents are loaded and displayed with a combination of AJAX and jQuery to produce a nice effect. However, I would, of course, like to have the contents bookmark-enabled and indexed by search engines. I have skimmed throught the Single Page Interface Manifesto which explains some nice ways of achieving this, but I wouldn't really like to have my URLs like
http://www.mysite.com/index.php#!section=section1
http://www.mysite.com/index.php#!section=section2
I would, of course, like to re-write them as
http://www.mysite.com/section1
http://www.mysite.com/section2
My questions are this whether this approach is correct/doable and if AJAX URLs are compatible with URL rewriting. What URLS would be indexed by, say, Google anyway?
If you want your page to work without reloading and update at the same time the page's URL, the only way to archieve this is by changing the hash in the URL (location.hash = 'whatever').
URL rewriting cannot be used since the hash is not sent to the server, it's only available in the browser's scope.
Check Facebook or Twitter URLs. They are prettier than #!section=section1 but still need the hash.
Cheers.
If you want to load different content/tabs/some content of page without reloading browser,
Now It is possible with pjax..
you can use something like http://padrino-pjax.heroku.com/
you can try it, go to the link and click on any of links home,dinosaurs,aliens
and you will see It will change url and some content without reloading full page
It is achieved using ajax+push/pop of url in browser
I'm looking for a solution myself for a similar problem (I have a client site with an AJAXed wordpress theme, and these dreadful #! stuff on the URL prevent all the Social sharing plugins I have tried so far, from working correctly).
Apparently, there is a solution (with some drawbacks ofc..). I found about it here: http://moz.com/blog/create-crawlable-link-friendly-ajax-websites-using-pushstate
I know it's like two years since you've asked, but it could be helpful for someone else, or you may wanna check it out just for the sake of the curiosity itself! :-)

Changing the URL and not reloading a page (this time without a url fragment)

Just wondering as to how did Google code this website without it reloading the website when the page AND url are changed.
Take a look and go from page to page.
http://www.20thingsilearned.com/
I've done a similar technique using a # hash change operation (with use of by the onhashchange event) to achieve the same result, however, this technique is far more cleaner.
Is this a chrome-specific feature? Or do all HTML5-enabled browsers support it? Or is there some complex combination of frames that are used together?
Take a look # this question
How does this site change the URL of the browser without changing pages?

Does Wicket hamper SEO or search engines ability to crawl?

We're coming from GWT projects and because of problems with SEO not liking GWT for our next project we're going to move clear of GWT (mainly because seo is a high priority for this next project). In choosing a new framework, I'm looking at Wicket and liking what I've seen so far. I've only done a few tutorials, but in looking at the war layout (from these tutorials) it looks like most of the html pages are in the WEB-INF folder.
It this going to cause problems for SEO and search engines crawling through the sites files?
Ideally, I'd like to use Wicket with some AJAX and deploy to Google App Engine.
It does not matter if your .jsps (or whatever) are stored in /WEB-INF. It just means they cannot be accessed directly by going to http://webapp/path/to/jsp.
For SEO think about:
Meaningful URLs and link text (i.e. URLs should be similar to expected search engine queries)
Crawlable pages (make sure all your content can be reached by a non-JS enabled bot... i.e. don't make content only available through AJAX, for instance). A sitemap might help
Look into Wicket's Bookmarkable page links and UrlCodingStrategies for a very powerful combination to use in SEO. Basicly all your links and parameters can be encoded as/a/static/url, regardless of (changing) implementation on the backend.
if you project SEO is really important than you might reconsider using a lot of ajax since crawler wont execute javascript they are not gonna read all the return of your ajax calls... that being said the SEO quality of your site is not really based on the framework you will be using ... jsut always think about img alts, links, meta, title, h1 ... in every pages and you should be fine ... also always try to post links to your site on other websites to gain visibility and get importance for crawlers

Resources