My presentation from #SEOZone Istanbul 2013 covering advanced On-Page SEO optimization aspects such as crawl-ability, semantics, duplicate content issues as well as performance optimization stragies.
7. Control those crawlers…
<meta name="robots" content="noindex, follow" />
User-Agent: *
Disallow: /some-page.html
Pages will be
crawled.
Pages won’t be
indexed.
Pages won’t show
up in SERPs.
URLs will be “par-
tially” indexed.
Pages won’t be
crawled.
URLs will show
up in SERPs.
8. URL has been robots.txt’ed out but…
URL pattern is
disallowed but
URLs still show up
9. Often, (external) links are “the issue”…
According to LRT this URL has
external inbound links…
http://www.linkresearchtools.com/
10. BTW: This can not work!
There is no way search
engines can read this!
11. Don’t create / link
them in the first place!
… or use some external
JS “by accident”.
12. Watch those redirects!
Never do redirects in HTML or JS; they’ve
to be crawled first! Only do 301.
<meta http-equiv="refresh" content="0; URL=http://www.google.com/">
*…+
<script type="text/javascript">
<!-- function redir(){ window.location = "http://www.google.com/" } //-->
</script>
*…+
<body onload="setTimeout('redir()', 1000)">
*…+
14. Example time #1: Filters & Sorting
Do you really want different
“sort bys” to be indexed?
15. Example time #2: Pagination
/cameras/cameras-cameras-home-brands-nikon/?start=32
/cameras/cameras-cameras-home-brands-nikon/?start=48
/cameras/cameras-cameras-home-brands-nikon/?start=96
Don’t push paginated pages
to the index unless they’ve
different keyword targets!
16. Example time #3: Useless pages
Why would you index those?
Maybe rank for “send to my friend”?
17. Remove worst performing pages!
Watch bounce rates, time on
site, pages per visit…
and de-index the worst 10%?!
24. #1 Canonicalize URLs
<link rel="canonical" href="http://domain.com/preferred-url.html" />
Never do relative URLs!
25. Pro Tip: Implement X-Robots Header
Full article: http://gdig.de/1w
Link: <http://domain.com/html-
version-of-pdf/>; rel=“canonical”
26. #2 Do 301-Redirects when possible
Is rel="canonical" a hint
or a directive?
It's a hint that we honor
strongly. We'll take your
preference into account, in
conjunction with other
signals, when calculating
the most relevant page […]
Full article: http://gdig.de/1x
27. #3 Make use of GWT
Set preferred domain to
indicate the “proper” one.
XML sitemap as another signal
to determine canonical URL.
28. Easy Start: GWT > HTML Improvements
Using the same titles and / or
Meta descriptions… not good!
38. Star ratings + votes
Rich snippet movie mark-up
Video snippets: Preview
img, publishing
date, playtime, etc.
Publication date
Google Universal News listings
CTR is influenced by more than position!
39. Google SERP CTR Study by SlingshotSEO
Full study available here: http://gdig.de/10
40. “SERP CTR almost
only depends on how
GREAT your snippet
is and if you can
make it stand out!”
- @basgr #SEOZONE
@basgr
42. Verify your mark-up w/ Google
Google’s Structured Mark-Up Tool does
provide valuable info on your status-quo.
Testing Tool: http://www.google.com/webmasters/tools/richsnippets
43. hCard needs proper imple-
mentation; “family-name” is so
wrong! Use “org” instead.
Even better: use schema.org!
Product needs fixing as
well, only use valid properties!
44. Some Rich-Snippet Examples
Rating + No. of Votes
Rating + Software Markup
(Price / OS)
Rating + Reviews + Recipe
Markup (Duration / Calories)
Video Snippet (can also be
done using schema.org)
50. Authorship Mark-Up is a killer!
It’s about personal branding as well – make your-self
known to the (your) audience!
A Searchmetrics study shows ~17% of US SERPs include authors already.
Searchmetrics Data: http://gdig.de/18
Can either be implemented on
page- but also on root-level!
51. How to implement Authorship mark-up?
Using the rel-author is
simple – but don’t game
it, otherwise it’ll be
gone… fast!
<link rel="author" href="https://plus.google.com/YOUR-ID" />
1) Implement “rel-author”
into your <head> section
2) Add “contributor “ URL to
your G+ profile
3) Check Google's structured
mark-up tool to verify!
1)
2)
3)
Authorship Info: https://plus.google.com/authorship
58. “We encourage you to start
looking at your site's speed - not
only to improve your ranking
in search engines, but also to
improve everyone's experience
on the Internet.”
- Amit Singhal & Matt Cutts, Google Search Quality Team
59. One (simple) goal only:
Make your site as fast as you can!
Can you get, what Amazon got?
1%+ in revenue for every
100 ms in speed.
Amazon study: http://gdig.de/amzn100
62. #1 Get rid of multiple CSS & JS files
8 JS + 4 CSS req. on a single page is a bad idea!
Best case: 1 CSS + 1 JS file.
Real world: 1-2 CSS, 1 int. + 2-3 ext. JS
Often times JS does change the
style, so always do CSS before JS!
Move CSS to the top, JS to the
footer to un-block rendering!
63. #2 Do CSS Sprites
http://spriteme.org/
Combine multiple (small) images into one
big image to save on HTTP requests.
64. Tip: Make images even smaller!
Use tinyPNG to optimize
PNG files without loosing in
quality (up to 70% savings)
JPEGmini does the same for JPEG
files and will reduce your images
massively (up to 80% smaller)!
http://tinypng.org/ & http://www.jpegmini.com/
65. #3 Minify CSS & JS files
Removing unnecessary whitespaces, line-
breaks and comments to reduce file-size.
And: Makes it way harder for competitors to steal your code!
For CSS, try:
http://www.phpied.com/cssmin-js/
http://developer.yahoo.com/yui/compressor/
For JS, go with:
http://www.crockford.com/javascript/jsmin.html
https://developers.google.com/closure/compiler
Minifying this (small) style-
sheet results in 63% savings!
66. #4 Enable GZIP compression
Output compression does massively decrease
file-sizes and therefore speeds up rendering.
Verify by checking the response
headers, for “Content-Encoding“
to be set to “gzip“
One of the ugliest sites ever: http://www.gzip.org/
On Apache, try “mod_deflate” which is straight forward:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
67. #5 Setup caching for static resources
It’s important to specify one of Expires or Cache-Control max-
age, and one of Last-Modified or ETag, for all cacheable resources.
Set the “Expires”-header to exactly
one year ahead of the request date
Set the “Last-Modified”-header to
the date the file was last modified
Set the “Cache-Control: max-age”-
header to “3153600” (1 year, again)
Expires:
Fri, 07 Sept 2013 03:18:06 GMT
Last-Modified:
Fri, 07 Sept 2012 03:18:06 GMT
Cache-Control:
max-age=3153600
68. #6 Use Google’s CDN for popular libraries
Google has the fastest CDN on the planet, make sure
you use their DCs to serve your files if possible!
https://developers.google.com/speed/libraries/
Since a lot of site-owners are using
G-DCs, chances are, people have
those files cached already!