'

How to Find and Fix Common Technical SEO Issues

Понравилась презентация – покажи это...





Слайд 0

Find and Fix Common Technical SEO Issues Webpromo Expert Webinar 19 January 2016 Barry Adams POLEMIC @badams D I G I T A L


Слайд 1

Barry Adams POLEMIC @badams D I G I T A L


Слайд 2

Agenda: 1. Server-side Technical SEO 2. On-site Technical SEO 3. Technical SEO for International Websites 4. Q & A POLEMIC @badams D I G I T A L


Слайд 3

Server-side Technical SEO POLEMIC @badams D I G I T A L


Слайд 4

Crawl Optimisation • Minimising wasted crawl budget Crawl Budget = the maximum amount of time a search engine spider will spend crawling your website before it gives up. POLEMIC @badams D I G I T A L


Слайд 5

Crawl Sources • Site Crawl • DNS Records • XML Sitemaps • Domain Registrations • Inbound Links • Browsing Data POLEMIC @badams D I G I T A L


Слайд 6

Crawl Waste DeepCrawl report POLEMIC @badams D I G I T A L


Слайд 7

Crawl Issue: URL Duplication • http://website.com • http://www.website.com • http://www.website.com/index.php • http://website.com/index.php • http://www.website.com/category • http://www.website.com/category/ • http://website.com/category • http://website.com/category/ POLEMIC @badams D I G I T A L


Слайд 8

Solving URL duplication: WWW • Apache .htaccess rules: RewriteEngine on RewriteCond %{HTTP_HOST} ^website\.com RewriteRule (.*) http://www.website.com/$1 [R=301,L] This redirects all requests to http://website.com to http://www.website.com POLEMIC @badams D I G I T A L


Слайд 9

Trailing Slash Redirect • Apache .htaccess rules: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] This redirects all requests to /category to the version with the trailing slash: /category/ POLEMIC @badams D I G I T A L


Слайд 10

HTTPS Redirect • Apache .htaccess rules: RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://www.website.com/$1 [R=301,L] This redirects all standard HTTP requests to the HTTPS version of the website POLEMIC @badams D I G I T A L


Слайд 11

SSL Certificate Quality https://www.ssllabs.com/ssltest/ POLEMIC @badams D I G I T A L


Слайд 12

Learn more about Apache .htaccess: • http://www.htaccess-guide.com/ • http://www.htaccesstools.com/ POLEMIC @badams D I G I T A L


Слайд 13

HTTP Status Codes The most important ones:  200 OK everything is fine, here is your content  404 Not Found the page you are trying to view doesn’t exist  301 Permanent Redirect the page you are trying to view has moved permanently, here’s the new URL  302 Temporary Redirect the page you are trying to view has moved temporarily, here is the new URL  500 Server Error there’s been a massive fuck up, I can’t serve you this page @badams POLEMIC D I G I T A L


Слайд 14

On-Site Technical SEO POLEMIC @badams D I G I T A L


Слайд 15

XML Sitemaps POLEMIC @badams D I G I T A L


Слайд 16

Optimise your XML sitemap • Ensure your sitemap contains final URLs only • Minimise non-200 status codes POLEMIC @badams D I G I T A L


Слайд 17

Use Multiple Sitemaps • Google says max 50.000 URLs Nick Eubanks case study shows 35.000 is optimal Source: http://seoauv.com/increase-traffic/ @badams POLEMIC D I G I T A L


Слайд 18

Mismatched Canonicals • All URLs in XML sitemap should be final canonical URLs only POLEMIC @badams D I G I T A L


Слайд 19

Always use Canonicals • Duplicate URLs can originate from various sources… http://www.website.com/page1.html http://www.website.com/page1.html?utm_source=buffer& utm_medium=social&utm_campaign=seo POLEMIC @badams D I G I T A L


Слайд 20

Use Full URLs in Canonicals <link rel=“canonical” href=“/page1.html”> <link rel=“canonical” href=“www.website.com/page1.html”> <link rel=“canonical” href=“https://www.website.com/page1.html”> POLEMIC @badams D I G I T A L


Слайд 21

Use Canonicals wisely… • “rel=canonical” is primarily for index issues It is not a fix for crawl waste Search engines need to see the canonical tag before they can act on it Ergo, pages need to be crawled before rel=canonical has any effect Ditto with meta noindex tags POLEMIC @badams D I G I T A L


Слайд 22

Internal Redirects • Find redirects with Screaming Frog or DeepCrawl • Internal links should all be 200 OK • Flat site structure POLEMIC @badams D I G I T A L


Слайд 23

Pagination • Potential for massive crawl waste Especially when combined with sorting POLEMIC @badams D I G I T A L


Слайд 24

Optimise Paginated Lists • Show more products per page • Use pagination meta tags; <link rel="prev" href="http://www.domain.com/category/?page=2" /> <link rel="next" href="http://www.domain.com/category/?page=4" /> <link rel="canonical" href="http://www.domain.com/category/?page=all" /> Googlebot will deprioritise deeper paginated pages • Block sorting parameters in robots.txt; User-agent: Googlebot Disallow: /*?order=* Noindex: /*?order=* @badams POLEMIC D I G I T A L


Слайд 25

GSC Robots.txt Tester POLEMIC @badams D I G I T A L


Слайд 26

Alternative: X-Robots-Tag • Special HTTP status code intended for crawlers • Implemented in Apache .htaccess file: <FilesMatch ".pdf$"> Header set X-Robots-Tag "noindex, nofollow" </FilesMatch> More info: https://developers.google.com/webmasters/control-crawlindex/docs/robots_meta_tag @badams POLEMIC D I G I T A L


Слайд 27

Faceted Navigation • Risk of crawl waste & index inflation POLEMIC @badams D I G I T A L


Слайд 28

Dealing with Faceted Navigation 1. Block facet URL parameters in robots.txt User-agent: Googlebot Disallow: /*attribute=* Noindex: /*attribute=* 2. Tag facet links with “rel=nofollow” POLEMIC @badams D I G I T A L


Слайд 29

JavaScript & Faceted Navigation • ‘Hiding’ facets in JavaScript does not work Google will execute JS and can follow embedded links Don’t block JavaScript & CSS in robots.txt! • JavaScript can add load time Fast load speed is crucial POLEMIC @badams D I G I T A L


Слайд 30

Optimise Load Speed • Crawl budget = time • Fast website = more pages crawled in same amount of time POLEMIC @badams D I G I T A L


Слайд 31

WebPageTest.org • Time to First Byte • Lightweight pages • Caching • Compression POLEMIC @badams D I G I T A L


Слайд 32

Code Bloat POLEMIC @badams D I G I T A L


Слайд 33

Structured Data • Schema.org markup POLEMIC @badams D I G I T A L


Слайд 34

JSON-LD Markup • In the <head> section  Separate from body code  Easier to implement POLEMIC @badams D I G I T A L


Слайд 35

Google Tag Manager JSON-LD • Use GTM data layer macros to inject JSON-LD schema.org code in your product pages Source: http://www.swellpath.com/2015/03/7-steps-to-pushing-json-structureddata-using-google-tag-manager/ @badams POLEMIC D I G I T A L


Слайд 36

Structured Data Testing Tool https://developers.google.com/structured-data/testing-tool/ POLEMIC @badams D I G I T A L


Слайд 37

Expired Pages • Google’s advice: serve 404 Not Found Downside: potential loss of link value Source: https://www.youtube.com/watch?v=9tz7Eexwp_A @badams POLEMIC D I G I T A L


Слайд 38

My Advice • Keep the page up POLEMIC @badams D I G I T A L


Слайд 39

High-churn Ecommerce • Products with a limited lifespan, potentially thousands of new pages every week Online auctions / ‘… for sale’ classified sites / etc  301-redirect old URL to most relevant new URL Minimum 180 days Serve 410 (or 404) on old URL after 180 days POLEMIC @badams D I G I T A L


Слайд 40

Technical SEO for International Websites POLEMIC @badams D I G I T A L


Слайд 41

International Domains • Pick the right domain;  Generic TLDs: .com, .org, .net, .info, …  ccTLDs: .co.uk, .ie, .de, .fr, .it, .nl, … • Generic domains can be geo-targeted with Google Search Console • Country-code domains will be assumed to target that country It’s almost impossible to get a .it website to rank in google.co.uk POLEMIC @badams D I G I T A L


Слайд 42

Google Search Console POLEMIC @badams D I G I T A L


Слайд 43

Website Structure • Subdirectories:  website.com/gb  website.com/it • Subdomains: Verify separately in Google Search Console and set the geo-target  gb.website.com  it.website.com POLEMIC @badams D I G I T A L


Слайд 44

Country & Language www.website.com/be-fr/ www.website.com/be-nl/ Use official ISO country & language codes where possible www.website.com/be-de/ POLEMIC @badams D I G I T A L


Слайд 45

HTML Language Tag • Use the ‘lang’ attribute: • Don’t forget to change when you launch your international version! POLEMIC @badams D I G I T A L


Слайд 46

HREFLANG Meta Tags <link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" /> <link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" /> <link rel="alternate" href="http://example.com/en-au" hreflang="en-au" /> <link rel="alternate" href="http://example.com/en" hreflang="en" /> <link rel="alternate" href="http://example.com/" hreflang="xdefault" /> More info: https://support.google.com/webmasters/answer/189077 @badams POLEMIC D I G I T A L


Слайд 47

Google Search Console POLEMIC @badams D I G I T A L


Слайд 48

Questions? barry@polemicdigital.com www.polemicdigital.com @polemicdigital @badams POLEMIC @badams D I G I T A L


Слайд 49


×

HTML:





Ссылка: