SEO対策まとめ
自分のWebサイトが、その情報を必要とする人によって見つけてもらえるように検索エンジンを最適化する事を、Search Engine Optimization 略してSEO対策といいます。
検索サイトは、電話帳ではなくユーザーが探している情報をできるだけ的確に提供する事を目的としています。そのシステムは絶えず改善や修正を繰り返しており、これが正解という方法はありません。
どんなに素晴らしい内容のページを作ったとしても、検索サイトがその単語の検索者にとって適切な情報ではないと判断されれば、どうやっても上位に表示される事はありません。
今の時代においてのSEO対策の意味とは、やみくもにアクセスアップする事ではなく、不特定多数の人々の中で、その情報を必要としている人に見つけてもらうための努力をする。という事です。
SEO対策を始める前に
まず、アクセス数やアクセス元の情報、ユーザーの興味や傾向を知る事なく、検索エンジン対策はできません。アクセス解析するために、Googleアナリティクスの導入から始めます。
Googleアナリティクス
そして、Googleアカウントでログインし、検索サイトで自身のサイトがどのように扱われているのかを、以下のサイトで把握します。
Google Search Console
もうひとつ、ChromeのブラウザのURL欄に、以下のように打ち込んで、Googleでの検索結果がどうようになるのかも確認します。
METAタグについて
殆どSEO対策を考えず、テキストを放置しているだけのWebページでも、検索サイトは勝手にタイトルを穿り出し、説明文が見つからなければ、本文から説明文を自動生成します。
下手な説明文を用意するくらいなら、検索サイト任せにしておいたほうがマシな場合もありますが、自分の公開している情報を誰に見て欲しいのかを明確にするためにも、完結な説明文でアピールしておいたほうが良いでしょう。
まず、必須なMETAタグは以下の3行だけです。
<title>ソリューションノート|Pikodon Company</title>
<meta name="description" content="Webサイトをレベルアップさせてプロモーション効果のアップデート。独自のWebシステムを使った粘り強い面白さのあるサービスの充実化をご提案いたします。" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
検索サイトでリスト表示された時に、titleがリンク文字、descriptionがその下に説明文として表示されます。この2つの項目だけでユーザーはリンク先を押すかどうか判断します。
そして、以下のタグは、一応、ルールとして付けておいたほうが良いでしょう。
<meta name="author" content="Pikodon Company" />
<meta name="keywords" content="WordPress, SEO対策, PHP, JavaScript" />
authorは、検索結果には何の影響もありませんが、サイトの所有者をはっきりさせておきます。
keywordsについては、コンテンツ内容とは無関係なワードを大量に打ち込むサイトが増えたため、検索結果の基準として採用しない事になったそうですが、keywordsが本当に無駄かどうかはなんとも言えません。
ただ、keywordsに出来るだけ多くのキーワードを打ち込むのは、SEO対策としては逆効果ではないかと考えます。
というのが、検索サイトや、他の検索システムでは、全文検索をかけて一致したものを単純に上から表示しているわけではありません。
検索者にとって的確なサイトをできるだけ簡潔にリストアップしようとするため、無関係なワードが沢山並んでいると、そのページの焦点が定まらなくなり、結果、検索結果リストの下位に押しやられてしまう事になります。
METAタグに限らず、本文や、そのページの取り扱う情報の種類でも、焦点が定まらないページは下位にまわされる傾向があるようです。
焦点が定まらないページとは、例えば、下層ページのリンク集となるトップページです。トップページよりも、記事ページのほうが検索サイトの上位に表示される傾向があるのはこのためです。
無理なSEO対策をしたわけではなく、バズると言えるほどの事はありませんでしたが、単純にLINEスタンプが話題になったり、外部のLINEスタンプ販売サイト、LINEスタンプの紹介サイトや、SNSや、他の掲示板などで話題になっていた文章を拾ったりして、それが検索上位の結果に繋がっていたようです。
LINEスタンプの知名度は、Googleの検索サイトよりも、公式のLINEスタンプストアから紐づいて辿り着く事が多く、SEO対策に期待するよりも、こういった会員制サービスの中の流通のほうが、効果的な集客が望める場合もあるようです。
話題性が過ぎ去り、今や検索しても上位にはハロウィン仮装グッズばかりが出てくるようになりました。サイト側から見れば、いつまでも検索結果の上位を独占したいものですが、検索者にとっては古い話題に独占されるほど迷惑な話はありません。検索結果は常に変動します。
正しいhtml文法を心掛ける
Googleの検索結果に出力される事だけを考えるのなら、ここまでの対応で十分かと思います。
しかし、Googleの検索結果は、自分のサイトだけがダイレクトに表示されるのではありません。公開しているご自身のWebサイトの内容を勝手に分析し、それをあたかも自分の情報のように紹介してくれているサイトが世界中にあります。
例えば、Twitterのつぶやきを自動検索して収集し、それを勝手にまとめて、「最新情報サイト!」みたいにしているサイトなど。その手のサイトは、それだけでは情報を完結させず、もっと知りたい方は、リンク先をどうぞ、と、Webサイトにリンクしてくれていたりします。
こういう勝手に情報を収集して、勝手にリンク集を作るサイトは、その横や上や下などに貼られている広告をクリックしてもらう事を目的としています。
こういうサイトの分析システムに吸い込まれる事で、結果的にリンクされている量が多いサイトとして、検索結果の上位になったり、あるいは、そういったサイトを入り口として人に見つけてもらえる場合も多いです。
そういった分析システムは、Googleとは違った仕組みでサイトの内容を分析しますが、大抵は基本的なHTMLのルールに沿って、内容を分析します。
HTMLのルールにきちんと沿えば、結果的にアクセス数向上に繋がる事が期待できます。
以下に、最低限守りたいHTMLのルールをまとめました。
見出しの例
hタグで囲んだ見出しをつけたほうが良いでしょう。分析プログラムは本文から全文を読み込むのではなく、hタグを探して見出しだけを吸い取る場合も多いです。
<h1>最低限守りたいHTMLのルール</h1>
<h2>見出しをつけよう</h2>
<p>
見出しはh1、h2、h3というタグで囲みます。
ページのタイトルはh1タグを使い、これは1つまでです。
小見出しはh2、h3を使い、項目分けしましょう。
</p>
<h2>段落分けしよう</h2>
<p>
作文の区切りをpタグで区切りましょう。
分析プログラムなどはpタグを区切りと認識させる事が多いです。
</p>
リスト項目の例
例えば商品一覧や、項目リストみたいなものを並べたい時は、liタグを使います。
<h2>WordPressのメリット</h2>
<ul>
<li>無料です。</li>
<li>オープンソースです。</li>
<li>導入がとても簡単です。</li>
</ul>
定義リストの例
Q&Aのような質問と回答。あるいは見出しタイトルと本文。みたいに定義タイトルと、定義内容、といった分け方が明確にできる場合は、dlタグがお勧めです。
<dl>
<dt>お勧めのCMSは何ですか?</dt>
<dd>無料でオープンソースですぐに使えるWordPressをお勧めします。</dd>
</dl>
『トラウマいちご』といえば、kozukueichigo.comが最優先に出てきて欲しいものです。そのためのSEO対策も、相当気合入れてやりました。しかし、実際はpikodon.comの下層ページが出てきてしまいます。
こちらは、あくまでも内輪向けのオリジナルコンテンツの紹介ページであり、不格好にも作品コンセプトの理由付けのような屁理屈まで書いてあります。本来ならあまり見て欲しくないページなので、SEO的にはかなり消極的です。
しかし、検索サイトの判断としては、内部ページのリンク集になりがちで、話題の焦点がぶれているブランドトップページよりも、シンプルに、『トラウマいちご』といえば私のことです。としか書いてないような紹介ページのほうを的確な検索結果として、選んでいるようです。
SNSで共有してもらう
閲覧者にSNSで宣伝してもらえたら、よりアクセスアップが期待できます。
TwitterやFacebook、LINEやはてなブックマーク、PinterestなどのSNSで共有してもらう時に、自動的にサイト名、リンク先、説明文、イメージ画像などが表示されます。
その内容はMETAタグのOGP設定で記載しておく事ができます。細かいやり方は省きます。
//基本的なOGP
<meta property="og:title" content="タイトル" />
<meta property="og:type" content="website" />
<meta property="og:url" content="サイトURL" />
<meta property="og:image" content="画像URL" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:site_name" content="タイトル" />
<meta property="og:description" content="説明文" />
//TwitterのOGP
<meta name="twitter:card" content="カードタイプ">
<meta name="twitter:site" content="Twitterアカウント">
<meta name="twitter:creator" content="Twitterアカウント">
<meta name="twitter:title" content="タイトル">
<meta name="twitter:description" content="説明文">
<meta name="twitter:image:src" content="画像URL">
//FacebookのアプリケーションID
<meta property="fb:app_id" content="FacebookのappIDを入力" />
//Pinterestのサイト所有権
<meta name="p:domain_verify" content="Pinterestの認証コード"/>
最近はWordPressでブログを書く人も増えました。必ずと言って良いほど、SNSシェアボタンを設置するのですが、1つもいいねされなかったり、FacebookやTwitterで共有してもらえないサイトが多く存在します。
本来、そういったSNSでの共有や、検索結果による集客が目的なのに、その目的が1つも達成できていない事を嘆く人は多いかと思いますが、SNS共有されるにはコツが必要なようです。
「飲むだけで腸内の脂肪が大量に便で排出できる画期的なサプリメント」とかあったとして、それが本当に効果があるのなら、高額でも買うかもしれませんし、きっと定期購入するかもしれません。
でも、どんなに素晴らしいサプリメントでも、こんな恥ずかしい見出しのものをFacebookで共有なんてしたくないし、コッソリ買います。
「夫婦関係がうまく行っていない家庭のためのドメスティック問題を考える記事」なんてものをコッソリ読んで人に薦めたくなるほど感動したとしても、こういうタイトルのものがタイムラインに流れると誤解を招きそうです。
やっぱり、人がFacebookで共有したいものは、
【メルセデスベンツS-Classオーナーのための新車レビュー】
【ハーバードMBAからのDBA取得コンプライアンス】
とか書いてあるタイトルだったりして、(記事を読んでもいないくせに)、こんなタイトルのものを共有してる俺スゲーと自慢したいものだったりします。
SNSの共有ボタンは、第三者に薄ら自慢したくなるようなタイトルであったり、大した内容でもないのに、意識高い系アピールや、偽善的な自己満足をみたすようなものが望ましいかもしれません。
ただ、そういったリンクをたどってきた読者が、本当に求めている閲覧者かどうかは、なんとも言えないところです。
まずは、入り口としての役割を果たすSNSの共有ボタンは必須ですが、果たしてその記事を共有したい人はどんな人なのか?客観的に考えて、その結果を前向きに受け止める余裕も必要ではないかと考えます。
スマートフォン最適化について
Googleではモバイルユーザビリティという判断基準があります。PCでの閲覧を想定したサイトでも実際のアクセス数はスマートフォンからのほうが多い場合が多いようです。
サイトをスマートフォンからの閲覧に対応し、「このサイトはモバイルフレンドリーです」と表示されると有利そうです。むしろ、わざわざ「このサイトはモバイルフレンドリーではありません」とか表示されるほうが恥ずかしいかもしれません。
モバイルフレンドリーの基準は、
字の大きさがスマホ画面で最適なものかどうか?
ボタンが指で押しやすい大きさかどうか?
viewportタグがあるかどうか?
<meta name="viewport" content="width=device-width,initial-scale=1">
といったものです。
しかし、内容が魅力的なため、モバイルフレンドリーでもないのに大人気のサイトも存在します。
『恐怖探偵トラウマいちご』に関しても、以前は、検索サイトは『恐怖』『探偵』『PTSD』『莓』と分割して検索していたようで、kozukueichigo.comにたどり着く気配はありませんでした。
ブランドの固有名詞を検索サイトに認知してもらうためには、辛抱強さも大事ですが、その単語が固有名詞である事を主張しなければ、永遠に分割検索されてしまいます。
そこで、一例としてSNSを活用する方法もあります。
SNSではユーザー名に、個人名や、作品名、組織名を入力するため、それが固有名詞として認知される傾向があるように思えます。例えば特定個人名を入力した場合、その名前を単語分割する前に、もしかしてこの人の事ですか?と尋ねるかのように、SNSのトップページが一番上に出てきます。
検索サイトが、一度、固有名詞として理解してしまえば、ああ、知ってます『恐怖探偵トラウマいちご』というのはコレの事でしょう?と言わんばかりに、アニメ動画ページが出てくるようになりました。
いつしか『恐怖探偵』『トラウマいちご』とそれぞれの単語で検索しても、もしかしてこれの事だよね?と作品関連サイトが表示されるようになりました。
sitemap.xml作成
Webサイトは公開さえしておけば、案外Googleが自動的に見つけてくれます。
トップページのリンクからたどってサイト全体のページを拾い集めてくれますが、見て欲しくない部分的なhtmlや、エラーをお知らせするだけの検索結果に出なくても良いページなど、余計なページばかり集めて、一番見て欲しいページにたどり着いておらず、クロールすらされていない。なんて事もよくあります。
そこで、このページは見てほしいけど、このページは消極的で良い。みたいな優先順位をつけて、設定する事ができます。
以下のような内容でsitemap.xmlを作成し、ルートディレクトリに設置します。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
基本的な構文:
<url>
<loc>https://kozukueichigo.com/nav/</loc>
<lastmod>2019-09-17</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
複数言語に対応している場合:
<url>
<loc>https://kozukueichigo.com/</loc>
<xhtml:link rel="alternate" hreflang="jp" href="https://kozukueichigo.com/index.php?lang=jp"/>
<xhtml:link rel="alternate" hreflang="en" href="https://kozukueichigo.com/index.php?lang=en"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://kozukueichigo.com/"/>
<lastmod>2019-09-17</lastmod>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
</urlset>
これを設置しておけば、検索サイトは自動的に拾いますが、せっかちな人はGoogle Search Consoleから送信すると良いでしょう。成功しましたと表示され、検出されたURLに正しい数値が出ていれば成功です。
このsitemap.xmlは設置さえしておけば魔法のようにアクセスアップするものではありません。検索サイトではこの内容を更に精査します。
まずlastmodで指定した最終更新日やchangefreqで指定したアクセス更新頻度の設定から、情報がフレッシュであるかどうか?などを判断するようです。そして、priorityで、どうでも良いページと、優先したいページのランク付けをしています。
全部大事だから!と、欲張って全部1.0とかにすると『全部いらないものなのだな』と判断されてしまいますので注意してください。
トップページについては1.0で、一番人気の記事を0.9、それ以外を0.8以下でうまく分散すると良いでしょう。
ただしこれを送信したからといって、すぐにクロールされるわけでも、すぐに検索結果に出てくるわけでもなく、下層ページまで辿り着くには、数週間待たされるかもしれません。
参考サイト:
サイトマップの作成と送信(Google Consoleヘルプ)
多国語対応表記
サイトを日本語と英語など、2ヵ国語以上に対応した場合。例えばMETAタグやtitleタグには何語で書けば良いでしょうか?日本語で書けば英語の人には読めませんし、英語で書けば日本からのアクセスを捨てるようなものです。
日本語と英語両方書くと、焦点がぼやけたページと判断されて、検索結果の下位に押し下げられます。
ディレクトリをjpやenで分けたりしてURLを分けると、海外や、日本国内の英語で生活する人に喜ばれますが、言語違いで同じ内容のサイトがあると、何故かアクセス数が絶望的に減ります。
ブラウザの言語設定を自動判別して、出力する言語を切り替える機能をつける場合も注意が必要です。検索エンジンはどうやら英語環境でアクセスしてくるようなので、英語版しかクロールしてもらえなくなります。
更に、そのサイトがどこの国によって公開されていて、どこの言語を対象にしているかを、プログラム的に判別しているようで、どんなに国際派をアピールしたところで、日本のサイトと判断されれば、日本からのアクセスで積極的に表示される英語サイトというマニアックな位置付けにされてしまいます。英語だから当然日本語の検索ワードにもヒットしません。
日本国内で英単語で検索する人も、かなり限られていますし、迷惑だか便利なんだか、英単語を入れても、わざわざ日本語に翻訳されたサイトなどが検索結果に出てきたりします。
つまり、日本国内のサイトで英語表記すると、それだけでSEO対策としてはかなり不利になります。
せっかく良かれと思って頑張った国際感覚のアピールと、アクセス数を反比例させないためにも、headタグの中に以下のようなものを書いて、多国語対応ページである事を示します。
<link rel="alternate" hreflang="x-default" href="デフォルトページURL" />
<link rel="alternate" hreflang="ja" href="日本語ページURL" />
<link rel="alternate" hreflang="en" href="英語ページURL" />
検索サイトは、この記述を読みとって、国ごと、ブラウザの設定言語ごとに、出力する検索結果を調節するようです。
日本国内の英語版とか、イタリア国内のスペイン語版とか、そういった細かい指定もできるようになっています。
参考:
ページのローカライズ版について Google に知らせる(Google Consoleヘルプ)
芸能人にとって名前は命ですが、単なる登場人物にすぎない『小机いちご』という単語をアヴァンギャルドなマイナー作品が独占するのは迷惑な話です。
そこで、小机いちごのSEO対策に割く時間を『恐怖探偵トラウマいちご』に集中させました。さすがに『恐怖探偵トラウマいちご』というフルワードの固有名詞で検索する人なら、この作品を探していると思って間違いないようです。
しかし、英単語で『kozukueichigo』または『ichigokozukue』と検索した場合は、作品サイトが優先的に表示されます。
この理由は、サイトを多国語対応し、日本国内では『恐怖探偵トラウマいちご』英語タイトルでは『KOZUKUE ICHIGO』としている事と、SNSのアカウント名を『kozukueichigo』または『ichigokozukue』にしているためではないかと考えています。英単語としては珍しいkozukueichigoという文字列は、特定作品に登場する日本人女性の名前ではないか?と認識したようです。
ウィルスバスターの未評価について
検索結果一覧や、リンク先のURLの横に、緑色のチェックマークや、灰色のマークがついているのを見た事があるでしょうか? 無い方はウィルスチェックソフトをウィルスバスター以外のものを使っているのではないかと思います。
TREND MICRO社のウィルスバスターをインストールし、ブラウザに機能拡張を設定すると、リンク全てに、そのリンク先のサイトが安全かどうかのマークが付きます。緑のアイコンで「安全」と書いてあれば良いんですが、俺のサイトは「未評価」という灰色のアイコンになっているのはなんで?と不愉快に思う人も多いはずです。
こちらでチェックできます。
Site Safety Center(TREND MICRO)
未評価の場合は、ウィルスバスターの機能拡張や、トレンドマイクロ社のサイト等から再評価の依頼をする事もできます。
実はこの問題で悩む人は多く、検索すると対応方法が沢山出てきます。このサイトでも何度も再評価を依頼し、そのたびに「安全」に変更していただいていますが、すぐに「未評価」に戻ってしまいます。
どうやら、プログラムシステム等で自動で行っているようで、評価された時にWebサイトのジャンルが、とても人間の目で見たとは思えないようなものになっていました。
(例えば、https://kozukueichigo.com/ が音楽サイトにジャンル分けされていたりしました)
「これで未評価から安全に変更されました!」と書いてあるブログなどでも、実際に確認すると「未評価」になっているものが多く、一定期間ですぐに未評価に戻ってしまうようです。
「不審」や「危険」でなければ、そう気にするものでも無さそうです。
インデックスさせないページ対応
似たようなページが沢山あれば、それぞれが相殺しあってしまい、自分のサイトの中で芥川龍之介の蜘蛛の糸みたいな状態に陥っている場合があります。
エラーページや、警告ページのような内容がないページのほうがリンク元や参照数が多いから、とそちらが優先的に表示され、大事な記事本文ページは検索結果外に押しやられてしまっている事も多いです。
投稿数が多いサイトの場合、大した内容が書いておらず、あまり見て欲しくもないページばかりが優先され、これは読んで欲しい!という記事にたどり着かない場合も多いです。
では、思い切って、検索サイトにクロールされるページを特定してしまうのはどうでしょうか?
<meta name="robots" content="noindex">
このタグを入れたページは検索クロールされなくなります。本当にアクセスして欲しいページのみをクロールすれば、余計なページがない分、競合ページも減り、全体的に検索結果上位に表示されるようになるかもしれません。
コンテンツ運用側としては、困った問題ですが、検索者視点で考えれば、これはこれで正しいかと思います。検索者は『東京ミステリーファイル』で検索し、トラウマいちごを見つけようとは思っていません。
検索サイトでは、検索者を惑わしてリンク先に誘導しようとする行為を徹底的に排除したい方針のようです。あくまでも推察ですが、検索者の目的と違うサイトが表示された場合に独自の判断システムを組み込んでペナルティを加える仕組みも組み込まれていっているように思えます。
この場合、検索ワードとして重要なのは、『東京ミステリーファイル』という単語を知ってもらう事ではなく、そのコンテンツにたどり着く事です。
実際、各記事ページにたどり着いた検索ワードを辿ってみると、『都庁の前は何だった?』『練馬区都市伝説』『亀戸 由来』『光が丘の前』といった単語から辿りついています。ちなみに一番多かったのは『吉原 どこ』でした。
地名や歴史に関する単語で検索した場合、総務省、東京都自治体などの説明サイトと区別化するために、東京都庁の前は何があった? in 東京ミステリーファイルといった副題を付けてコンテンツの特徴をつかみやすいようにしています。
知りたい単語を入力して、出てきた検索結果一覧の中で、in 東京ミステリーファイルという副題がついていれば、目的のサイトであると訪問していただける判断基準になる事を期待しています。
SNSは検索トップ
SNSで情報拡散用アカウントを作り、フォローやイイネを期待しても、殆ど無視されてガッカリする事も多いです。今時「拡散希望」という単語を吐くだけで、ブロックかミュートされてしまうかもしれません。
SNSアカウントには別の有効な使い方があります。
SNSのSEO対策は、神がかった完璧さなので、アカウントのプロフィールページが検索結果の最上位に出てきます。サムネールと再生ボタン付きのYoutube動画や、最近の発言をいくつか添えたTwitterアカウントのプロフィールページ。拡散されやすいFacebookページなどは大抵一番上か、少なくとも検索結果の1ページ目には出てくる傾向があります。
InstagramとPinterestについては、画像検索にかなり強いです。個性的なオリジナル画像を用意し、丁寧な説明文やタグを添えて積極的に投稿し続けると、Googleからの画像検索でよく出てくるようになります。SNSから勝手に投稿を吸い取って、情報サイトまがいな顔して並べているようなサイトのプログラムからも画像を拾われる事が多いです。
そこから自サイトにリンクすれば、Googleの最上位に自サイトが出ているのと同じくらいのSEO対策効果が期待できます。にも関わらず、全くアクセス向上がないとしたら、検索結果で一番上に出てもクリックされないワードという現実を受け入れざるを得ません。
しかし、まずはその現実を受け止めるところから、SEO対策といういう狭い分野ではなく、プロモーションという広い視点で集客するための戦いが始まるのではないでしょうか。