• Save
Advanced SEO for WordPress
Upcoming SlideShare
Loading in...5

Advanced SEO for WordPress



Advanced SEO for WordPress, presented at WordCamp Minneapolis 2013. Includes information on WordPress redirects, Schema and more

Advanced SEO for WordPress, presented at WordCamp Minneapolis 2013. Includes information on WordPress redirects, Schema and more



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Advanced SEO for WordPress Advanced SEO for WordPress Presentation Transcript

  • Introduc)on:  Naviga)on   Advanced  Technical  SEO     #WCMpls  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Interac(ve  marketer:  FRWDco.com   Twi7er:  @followFRWD     Blogger  at:   •  rideboldly.org   •  Streets.mn     Twi7er:  @betweensta(ons     Hi,  I’m  Julie  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  How  to  go  beyond  the  default  SEO  features  of  WordPress  to   improve  search  engine  visibility   •  How  to  redirect  removed  pages,  including  non-­‐WordPress   pages  into  WordPress   •  How  to  add  forward-­‐looking  features  to  your  markup  to  take   advantage  of  new  search  opportuni(es   •  Where  to  get  a  copy  of  this  deck  for  reference   What  You’ll  Learn  in  this  Session   There  will  be  code.   There  will  be  resources.   There  will  also  be…    ponies.   View slide
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Housekeeping:  A  Review  of  Assump(ons   •  Implemen(ng  Authorship   •  Structured  Markup  &  Schema  for  Advanced  Search   Display   •  Duplicate  Content  in  WordPress     •  Redirects:  Permalinks,  Upgrades  &  Migra(on   Session  Agenda   View slide
  • Introduc)on:  Naviga)on  Housekeeping:  A  Review  of  Assump)ons   1.  Housekeeping   2.  Authorship   3.  Duplicate  Content   4.  Redirects   5.  Structured  Markup  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Key  Assump)ons   You’re  following  a   responsible  upgrade   path.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   You  publish  on  your  own  domain  and   use  relevant  keywords  in  your  content.   Key  Assump)ons  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   You  have  a  responsive  WordPress   design  in  place,  or  will  soon.   Key  Assump)ons  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Key  Assump)ons   You  know  the   basics  of   search  engine   op)miza)on.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Housekeeping:  Key  Assump)ons   You  have  a  solid   SEO  plug-­‐in   installed.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   You  have  sufficient  access  to   tweak  themes  or  install  plug-­‐ins.   Housekeeping:  Key  Assump)ons  
  • Introduc)on:  Naviga)on  Implemen)ng  Authorship   1.  Housekeeping   2.  Authorship   3.  Structured  Markup   4.  Duplicate  Content   5.  Redirects  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   What  is  Authorship?  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Allows  you  to  associate  an  author’s  bylined  content   to  their  Google+  account   •  May  insert  rich  snippets  into  search  results   •  May  increase  engagement  and  click-­‐through  rate   •  High  future  value   Authorship:  Why  We  Do  It   Within  search  results,  informa(on  (ed  to  verified  online  profiles     will  be  ranked  higher  than  content  without  such  verifica(on,     which  will  result  in  most  users  naturally  clicking  on  the  top     (verified)  results.  The  true  cost  of  remaining  anonymous,     then,  might  be  irrelevance.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   What  We  Need:   1.  Human  Factors:  Coopera(on   from  every  author  to  create:   –  A  Google+  profile  for   every  author.  With  a   picture.   –  A  link  from  that  profile’s   contributor  sec(on  back   to  the  website.   2.  Code:  A  link  containing   rel=”author”  on  every   content  page  poin(ng  from   your  website  or  blog  to  an   author’s  Google+  page.   Authorship:  Requirements  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Authors  must  create  Google+  profiles:       Authorship:  Human  Factors   Photo  must  be   real  headshot  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Authorship:  Human  Factors  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Authors  must  add  the  site  URL  to  their  profile  under  “Contributor  to:”   1.  Go  to  h7ps://plus.google.com   2.  Click  on  Profile,  click  on  About   3.  Scroll  to  Links,  click  on  Edit   4.  Add  link  to  site  under  “Contributor  to”   5.  Click  on  Save   Authorship:  Human  Factors  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Users  should  add  Google+  info  to  Contact  Info  in   WordPress:   Authorship:  Human  Factors   Variable  can  be  called  by  developers  as   <?php  the_author_meta(’googleplus');  ?>  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Manual  Add  for  Single-­‐Author  Blog:   Edit  that  (header.php)  file!   –  Go  to  Appearance  >  Themes  >  Editor   –  Choose  Header  (header.php)   –  Add  the  following  code  right  before  the  closing  </head>   tag:   <link  rel=“author”  href=h7ps://plus.google.com/ profilenumberhere/>   –  Click  on  Update  File  and  you’re  done!   Authorship:  Code  (Single  Author)  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Authorship:  Code  (Single-­‐Author)   Right  there!  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Op(on  1:     •  Ensure  that  every  author  links  to  their  Google+  profile  in  their   narra(ve  bio   •  Ensure  author  bio  displays  on  each  post     If  theme  or  plug-­‐ins  aren’t  doing  this  for  you,  you  can  edit   single.php  to  output  Author  Bio  on  blog  posts:   Authorship:  Code  (Mul)-­‐Author)   <div  class="author">  <?php  if  (func(on_exists('get_avatar'))  {   echo  get_avatar(get_the_author_meta('user_email'),  '70');     }  else  {?>  <img  src=”<?php  echo   get_template_directory_uri();?>/images/author.jpg"     alt=""  class="imgles  authorpic"  />  <?php  }  ?>   <h5>About  <?php  the_author();?></h5>  <?php  the_author_meta ('descrip(on');  ?>  </div>  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Allows  author  indicator  in  byline,  footnote  or  author  box   •  Allows  link  to  publisher  organiza(on  Google+  page   Authorship:  Code  (Mul)-­‐Author)  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Google  Structured  Data  Tes(ng  Tool   Authorship:  Tes)ng   h7p://www.google.com/webmasters/tools/richsnippets  
  • Introduc)on:  Naviga)on  Structured  Data  &  Schema.org   1.  Housekeeping   2.  Authorship   3.  Structured  Markup   4.  Duplicate  Content   5.  Redirects  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Schema  is  a  specific  form  of  structured  data  markup   •  Each  is  a  set  of  types,  associated  with  a  set  of  proper(es   •  Search  engines  osen  use  the  structured  data  to  create  rich   search  results     What  is  Structured  Data?   Can  search  Google   by  various  factors   Shows  picture,   reviews,  more  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Schemas  supported  by  Google/Bing:   •  People:  Contact  informa(on,  social  networking,  (tle/role,   affilia(on,  address   •  Events:  Summary,  loca(on,  descrip(on,  start  date,  end  date,   dura(on,  event  type,  photo,  (ckets   •  Reviews:  Item  reviews,  ra(ngs,  reviewer  name,  etc.   •  Products:  Name,  price,  image,  offer,  seller   •  Recipes:  Prep  (me,  cook  (me,  nutri(on,  ingredients,  author   •  Breadcrumb  naviga(on   Key  Schemas  Available   Full  list:  schema.org    
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Many  recipe  plug-­‐ins  available   •  Many  review/ra(ng  snippet  plug-­‐ins  available   •  Rich  Contact  Widget  useful  for  company  sites   •  Broader  scale  plug-­‐ins  include:   –  All  In  One  Schema.org  Rich  Snippets   –  RavenTools  Schema  Creator   Schema  Plug-­‐ins  
  • Introduc)on:  Naviga)on   Content  Duplica)on   1.  Housekeeping   2.  Authorship   3.  Structured  Markup   4.  Duplicate  Content   5.  Redirects  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Duplicate  Content:  Examples   Main  blog  archive   Author  archive   Same  content,  two  different  pages.     No  value-­‐add  for  users  or  search  engines.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Date-­‐based   •  Category-­‐based   •  Tag-­‐based   •  Pagina(on   •  Author  archives   •  Comment  pagina(on   •  Post  format  groupings   Duplicate  Content:  WordPress’  Flaw   Standard  installs  of  WordPress  are  filthy  with  duplicate  content:     Duplicate  content  generally  refers  to  substan(ve  blocks  of  content     within  or  across  domains  that  either  completely  match  other  content     or  are  appreciably  similar….  Blogs,  forums,  and  related  systems     osen  show  the  same  content  in  mul(ple  formats.     For  example,  a  blog  entry  may  appear  on  the  home  page  of  a  blog,    in  an  archive  page,  and  in  a  page  of  other  entries  with  the  same  label.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Op(on  1:  Edit  your  header.php  file  to  add  condi(onal   noindex  access  to  archive  pages.   Duplicate  Content:  What  to  Do?   <!-­‐-­‐?php  if($paged  -­‐-­‐>  1  ||  is_author()  ||  is_tag()     ||  is_date()  ||  is_a7achment()  ||  is_category()){   echo  '<meta  name="robots"  content="noindex,follow"  />';   }  ?>   (drop  is_author  for  mul(-­‐author  blogs)  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Duplicate  Content:  What  to  Do?   Op(on  2a:   Disable  pagina(on  and  date   archives  via  Yoast  SEO;  disable   author  on  single-­‐author  blogs  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Duplicate  Content:  What  to  Do?   Op(on  2b:   Use  noindex  for   Categories,   Archives  and  Tag   Archives  via  All  in   One  SEO  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Op(on  3:  Hack  your  archives  pages  to  show  post   snippets  only:   •  Archive.php   •  Index.php   •  Other  theme  files  controlling  archive  pages   Duplicate  Content:  What  to  Do?   Replace  “the_content”  in  PHP  files  with  “the_excerpt”   “the_excerpt”  shows  only  the  first  55  characters  of  post.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Op(on  4:  Do  Op(on  3,  and  create   custom  archive  page  templates   with  injected  unique  content   •  This  requires  1  template  per   category,  tag  and/or  author,   based  on  exis(ng  archive.php   template   •  Doing  this  bloats  the  number   of  templates  you  have  to   maintain   •  Every  (me  someone  adds   categories  or  tags…  you  have   to  add  templates   Duplicate  Content:  What  to  Do?  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Google  now  supports  pagina(on   •  Support  is  na(ve  in  Yoast  SEO  and  All-­‐in-­‐One  SEO     Should  you  ever  need  the  syntax:   •  <link  rel=“next”  href=h7p://www.rideboldly.org/page/2>   •  <link  rel=“prev”  href=“h7p://www.rideboldly.org/”>   Duplicate  Content:  Pagina)on   You  can  use  the  HTML  a7ributes  rel="next"  and  rel="prev"  to     indicate  the  rela(onship  between  individual  URLs.     Using  these  a7ributes  is  a  strong  hint  to  Google  that  you  want     to  treat  these  pages  as  a  logical  sequence.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  WordPress  started  placing  canonical  tags  on  single  posts/pages  as  of  v2.9   •  Canonicaliza(on  for  paged  comments  is  not  na(ve   •  Add  the  following  to  func(ons.php  template  if  you’re  in  a  paginated-­‐ comments  scenario:   Duplicate  Content:  Canonicaliza)on   //  canonical  links  for  comments   func(on  canonical_for_comments()  {    global  $cpage,  $post;    if  ($cpage  >  1)  :      echo  "n";      echo  "<link  rel='canonical'  href='";      echo  get_permalink(  $post-­‐>ID  );      echo  "'  />n";    endif;   }   add_ac(on('wp_head',  'canonical_for_comments');  
  • Introduc)on:  Naviga)on  Redirects:  Permalinks,  Upgrade  &  Migra)on   1.  Housekeeping   2.  Authorship   3.  Structured  Markup   4.  Duplicate  Content   5.  Redirects  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   You  should  develop  and  execute  a  redirect  plan  in  the  following   scenarios:   •  Migra(ng  a  non-­‐WordPress  site  into  WordPress   •  Merging  two  websites  into  a  single  website   •  When  dele(ng  pages  of  your  site  that  have  value  to  users   and/or  search  engines   •  When  a  major  redesign  and  reorganiza(on  of  your  site  is   going  to  cause  significant  structural  change   Redirects:  When  to  Redirect  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   301  redirects  are:   •  Good  for  users   •  Good  for  search  engines   •  Good  for  traffic     Redirects:  Why  Use  a  301  Redirect?   If  you  need  to  change  the  URL  of  a  page  as  it  is  shown  in  search     engine  results,  we  recommended  that  you  use  a  server-­‐side  301     redirect.  This  is  the  best  way  to  ensure  that  users  and  search  engines     are  directed  to  the  correct  page.  The  301  status  code  means  that     a  page  has  permanently  moved  to  a  new  loca(on.  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   What  URLs  should  you  redirect?   •  If  dele(ng  individual  pages,  redirect  each  page  being   deleted  to  a  new  target   •  If  migra(ng  from  non-­‐WordPress,  all  old  URLs  is  the   ideal   Redirects:  Choosing  What  to  Redirect  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  500  URI  crawl  limit  for  free  version   •  Allows  full  export  of  all  known  URLs,   headings,  response  codes   •  Useful  for  many  SEO  tasks   •  Report  against  top  pages,  top  landing   pages,  SEO  Landing  Pages   SEO  Tools  for  Excel   •  Provides  a  single-­‐spreadsheet  look  at   what  pages  have  social  shares   •  Retrieves  Google  toolbar  PageRank  for   a  page   •  Can  import  Google  Analy(cs  Data   Google  Webmaster  Tools   •  Allows  monitoring  of  site  crawl  errors,   404  pages  not  found  by  Google   Redirects:  What  To  Redirect   When  dealing  with  migra(ng  a  big  site  or  if  wondering  which   URLs  are  “worth”  it,  follow  the  data:  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Crea(ng  manual  redirects  in  .htaccess   1.  FTP  to  your  WordPress  host   2.  Download  your  .htaccess  file   3.  SAVE  A  COPY  JUST  IN  CASE  (seriously)   4.  Add  redirects  to  file   5.  Upload  it  back  to  your  WordPress  host   –  You  may  need  to  rename  to  1.htaccess  to  upload,  then  change  name   aser  upload  when  using  FTP   6.  Make  sure  you  didn’t  break  stuff   –  If  you  did,  upload  the  old  copy  and  start  again   –  If  you  didn’t,  high-­‐five  yourself   301  Redirec)on  Using  .htaccess   Syntax:   Redirect  301  /old-­‐page.html  h7p://www.site.com/new-­‐page/   Each  URL  requires  a  line  in  the  file   Source  URLs  must  be  on  same  domain  as  .htaccess  file  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  .htaccess  and  index.php  should  be  together  in  the  top  level  of  the   directory  indicated  by  the  site  address  (URL)  se}ng  on  your  WordPress   General  Op(ons  page   •  Make  sure  your  FTP  tool  shows  all  files  (not  all  show  dot-­‐files  by  default)   •  Some  hosts  won’t  let  you  change  your  .htaccess  file   •  If  you  really  don’t  have  one,  create  one   301  Redirects  Using  .htaccess:     What  If  I  Don’t  Have  an  .htaccess  File?!   If  you  create  an  .htaccess  file,  be  sure  to  include  the  following:   #  BEGIN  WordPress   <IfModule  mod_rewrite.c>   RewriteEngine  On   RewriteBase  /   RewriteRule  ^index.php$  -­‐  [L]   RewriteCond  %{REQUEST_FILENAME}  !-­‐f   RewriteCond  %{REQUEST_FILENAME}  !-­‐d   RewriteRule  .  /index.php  [L]   </IfModule>   #  END  WordPress  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Edit  .htaccess  from  the  Files   menu  of  the  WordPress  SEO     plug-­‐in   •  Plug-­‐in  specific  to  doing   redirects   •  Also  tracks  404  errors,   supports  regex,  reports  on   redirec(on   301  Redirects  Using  Plug-­‐Ins   Yoast  SEO   Redirec)on  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   The  default  WordPress  setup  for  permalinks  is  not   good  for  SEO.  Preferred  op(ons  include:   •  /%year%/%monthnum%/%postname%/   •  /%year%/%monthnum%/%day%/%postname%/   •  /%postname%/   •  /%year%/%postname%/   A  Note  on  WordPress  Permalinks   WordPress  defaults  to  301  redirects  if  you  update  your     permalink  structure  (v3.5.1).  At  one  (me,  this  was  not  true.   That  said,  if  you  have  significant  social  sharing  or  organic   search  traffic,  think  twice  before  changing  your  permalinks!  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   301  Redirects:  A  Note  on  Changing  Domains  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   •  Never  change  domains  unless  you  have  a  compelling  business  reason   •  If  you’re  just  changing  domains  without  changing  the  site,  best  prac(ce  is:   –  Use  a  301  redirect  at  the  domain  level   –  Use  Webmaster  Tools  address  change  no(fier  in  both  Google  &  Bing   –  Cross  your  fingers  and  hope  hard   –  Regularly  review  your  crawl  errors  to  make  sure  that  301  redirects   work  properly  &  404s  do  not  increase   •  Try  to  avoid  switching  site  structure  and  domain  all  at  once   –  Don’t  redirect  all  your  traffic  to  your  home  page   –  Don’t  let  your  old  domain  expire  for  at  least  180+  days   301  Redirects:  A  Note  on  Moving  Domains  
  • Introduc)on:  Naviga)on   Summary  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Plug-­‐Ins   •  All  in  One  SEO  Pack   •  All  In  One  Schema.org  Rich  Snippets   •  AuthorSure   •  Redirec(on   •  Schema  Creator   •  Yoast  SEO   Docco   •  Authorship:     h7ps://plus.google.com/authorship   •  Duplicate  Content:     h7p://support.google.com/webmasters/ bin/answer.py?hl=en&answer=66359   •  Pagina(on:   h7p://support.google.com/webmasters/ bin/answer.py?hl=en&answer=1663744   •  Schema:     h7p://schema.org  and     h7p://support.google.com/webmasters/ bin/answer.py?hl=en&answer=1211158   •  Structured  Data  Tes(ng  Tool:     h7p://www.google.com/webmasters/ tools/richsnippets   Plug-­‐Ins,  Tools  &  Documenta)on   Tools   •  Screaming  Frog:     h7p://www.screamingfrog.co.uk/seo-­‐ spider/   •  SEO  For  Excel:   h7p://nielsbosma.se/projects/seotools/   •  Webmaster  Tools:   h7ps://www.google.com/webmasters/ tools/  
  • Introduc)on:  Naviga)on   Advanced  SEO  for  WordPress   @betweensta6ons   Julie  Kosbab   julie.kosbab@frwdco.com   @betweensta(ons   @followFRWD     Find  this  deck  online:     hbp://frwdco.com/blog  
  • Introduc)on:  Naviga)on   Thank  you!