Technical SEO: The Devil in the Details (v2)

Post on 19-May-2015

1.000 views 1 download

Tags:

description

Everybody loves free traffic! This talk will focus on how to get more free traffic by fixing technical issues with your web site. We will cover HTML code, page speed, redirects, content management systems such as WordPress, how to prevent hacking, and diagnostic tools. As search engines continue to evolve you need to keep up with the latest technologies. There’s so much to do, and so little time. How do you prioritize?

Transcript of Technical SEO: The Devil in the Details (v2)

Part 1Technical SEO: The Devil in the Details

By Jonathan HochmanSEMNE

Why details matter

• Client starts a five figure SEO project because they don’t show up at all.

Staging Server Mischief

• Be careful when copying files from staging to live. Contents of their live robots.txt file:

User-agent: * # match all bots Disallow: / # keep them out

• A better way to protect a staging server is to require a password via .htpasswd (on Apache).

Duping yourself with multiple domain names

www.jehochman.com, jehochman.com, hochmanconsultants.com, www.hochmanconsultants.com

On Unix/Linux Apache servers canonicalize the domain via .htaccess file:

Options +FollowSymlinks RewriteEngine on #Don't redirect https pages RewriteCond %{SERVER_PORT} ^80$ RewriteCond %{HTTP_HOST} !^www\.hochmanconsultants\.com$ RewriteRule ^(.*) http://www.hochmanconsultants.com/$1 [L,R=301]

Windows IIS

First, install ISAPI_rewrite from Helicon Software. Here’s the code you’ll need.

RewriteCond Host: (?!^www\.hochmanconsultants\.com$).* RewriteRule (.+) http\://www.hochmanconsultants.com$1 [RP,I]

ASP Classic – for legacy sites

Add this code to the top of every ASP page using a server side include:

<% if (Request.ServerVariables("server_name") <> "www.hochmanconsultants.com") Then

dim url url = Request.ServerVariables("URL") if url = "/index.asp" Then url = "/" End If Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.hochmanconsultants.com" & url End If %>

PHP Version<?php if ($_SERVER['HTTP_HOST'] != "www.hochmanconsultants.com") { Header( "HTTP/1.1 301 Moved Permanently" ); $script_name=str_replace("index.php", "", $_SERVER['SCRIPT_NAME']); Header( "Location: http://www.hochmanconsultants.com".$script_name ); } ?>

Duplicate content in CMS and ecommerce systems

Examples: • Some OScommerce configurations have funky

session id's in the URL parameters. You can download a module that fixes them.

• Wordpress SEO from Yoast• Google: SEO + the name of your software to

quickly find options.

Running out of crawl time or storage

If your site has millions of pages, code optimization should be a high priority strategy to get more pages indexed. Good code is often five times shorter than average code.

Watch out for infinite URL spaces, such as calendars where links go on forever.

If all your pages are indexed, this tactic is less important.

Submit sitemap.xml to Google/Bing to get accurate feedback on how many of your pages are indexed.

Sitemap.xml file

• <500 pages, see XML-Sitemaps.com• >499 pages, download GSiteCrawler• A sitemap won’t help indexed pages rank better.

However, it may help pages that aren’t indexed, or help identify duplicate content.

• Inspect sitemap.xml top to bottom and make sure each page is listed, and unique.

In robots.txt, add this line:Sitemap: http://www.yourdomain.com/sitemap.xml

Unique titles and meta descriptions

Failure to do this is a sign of low quality, leads to less clickable search listings, and also makes pages more likely to be considered duplicates of each other.

Best to have some code that provides acceptable titles and descriptions by default, and then lets you override with custom ones if you have the time and initiative. Here’s some sample php code.

How to generate meta descriptions automatically

/* PHP Function attempts to generate a meta description string at least 80 characters long, ending with a period. The output of this function should be html encoded with a function such as htmlspecialchars() before being inserted into a web page. */

function make_description($code) { $pagedesc=strip_tags($code); $padding = substr($pagedesc, 80); if ($padding === 0) return $pagedesc; $length = strpos($padding, "."); if ($length === 0) return $pagedesc; return substr($pagedesc, 0, $length + 81); }

Spelling and typos

Why does my listing in Google have a spelling error? Why don’t I rank?

Has happened numerous times that pages didn't rank because of typos in critical places such as title tags and anchor text.

Broken links

Use Xenu Link Sleuth whenever Google webmaster tools reports broken internal links, and whenever you do a major overhaul. Dead links are bad for user experience, and waste of link juice.

If there are external links pointing at 404 pages, 301 redirect them to a good substitute. You can find broken external links in Google Webmaster Tools, or in your http server error log. (Xenu won’t find these.)

Hacking and malware

If your site gets hacked, your traffic will tank. Scanning and trust marks are for show – they only detect 30 percent of threats.

Real security requires regular software upgrades, file integrity monitoring, version control, and strong access controls.

Top reason for hacks is failure to patch CMS’s.

Wordpress wasn’t patched

Even after the site is cleaned up, bad snippets persist for days

Code Validation

People love to argue about whether code validation is worth the trouble.

Validation increases the chance of cross platform/browser compatibility. Not a magic SEO strategy. Don’t expect rankings to instantly improve; they won’t.

Validation helps you check for errors automatically. It is easier to clear all errors and warnings than to pick and choose.

Search engines can parsed messed up code, but sometimes bad code confuses spiders.

If you look in Google Webmaster tools and see a code snippet appearing in the most common keywords, that may be a symptom of missing or malformed HTML tags.

SEO Intangibles

Happy visitors generate referrals, tweets, bookmarks and links. Unhappy visitors don't. Happy visitors are more likely to trust you and convert.

What tends to make a happy visitor? Sites that load correctly, quickly, and smoothly, on any browser, any computer, and any mobile device. It doesn't matter if you have the perfect keywords when your site is a slow or won't render.

Some people like to print web pages. Do you have a print media stylesheet? For large ticket items or B2B’s, printing may be important.

Do you still have those obnoxious messages chastising your visitors if they have the wrong browser, or nagging them to download a Flash or Silverlight player? Please don’t.

Printing

• People like to turn web pages into paper and share them.

• Print media stylesheets• Menus should disappear, since paper can’t

click• Black fonts, white backgrounds, and eye-

friendy font sizes• Everybody loves PDFs

Favicons

• Install a uniquely identifiable favicon.• When the typical multitasking user has a

dozen tabs open in half-a-dozen browsers, one of your biggest search challenges is can they find the tab with your site.

Forms

• The form is where the rubber meets the road. You can have this awesome search performance, but your site is leaking opportunities because it fails to capture the payload data. (Name, address, payment info)

• Most legacy website forms (and carts) suck• Try http://wufoo.com

The Big Picture

Technical SEO won’t magically lift your rankings, but correcting errors may help.

Don't think about technical SEO only in terms of ranking signals. User behaviors are a ranking signal; when users react favorably to a website, search engines eventually notice.

Part 2: Website Checklist

• http://www.semne.org/website-checklist

Generating Sitemaps

• http://www.xml-sitemaps.com/

• http://gsitecrawler.com/

• Yoast’s Wordpress SEO plugin: General – check the box and (re)build the sitemap.

Page Speed

• Less code:– Server side includes– Efficient HTML/CSS– Minimize cruft

• Less files:– Backup everything– Delete anything that might be cruft

• Better hosting

Wordpress

• Super Cache• Minify• Manual edit header.php and hardcode as

much as you can.

Part 3: Security

• Wordpress sites are routinely hacked if they aren’t patched. 17 million Wordpress installs: a big fat target for hackers.

• Any other CMS or script driven site is also vulnerable.

• Static sites are the least vulnerable, until you get a virus on your desktop that steals your FTP passwords. The more people have access, the greater the risk.

Risk Management

• Register all sites in Google Webmaster Tools and subscribe to notifications.

• Backup daily• File Integrity Monitoring

(eg. CodeGuard, available 4.11.2011, free)

Thank You!

Jonathan Hochmanjeh@semne.org