目次
テクニカルSEOとは
テクニカルSEOの目的は、ウェブサイトを正しく構築し、検索エンジンがサイトを上手くクロールまたはインデックスできるようにすることです。
簡単に言えば、ウェブページがちゃんと検索結果に表示されるようにすること。
HTTPとHTTPSを理解する
HTTPとHTTPSの違い
- HTTP=Hyper Text Transfer Protocol
- HTTPS=Hyper Text Transfer Protocol Secure
どちらもサーバー/クライアント間でデータをやり取りする際のプロトコル(通信規約)ですが、HTTPとHTTPSの違いは、大きく分けて2つあります。
暗号化(encrypted)
HTTPSでは、通信内容がplain text⇒cipher textへ暗号化されています。そのため、中間者攻撃を防ぐことができ、より安全に利用できます。
サーバーの正当性を証明(SSL)
HTTPSでは、ブラウザーとサーバーの間でSSL(Secure Socket Layer)/TLS(Transport Layer Security)サーティフィケートが使用されており、サーバーの正当性を証明する役割を担っています。
HTTPSにすべき理由
ランキングに影響する
ウェブサイトをHTTPSにすることは、Googleランキングを上げるアルゴリズムに影響します。
Google Analyticsに影響する
HTTPSサイトとHTTPサイトの間での参照データは、GAはカウントしません。もし自分のウェブサイト(HTTP)が別のサイト(HTTPS)からリンクを辿って訪問者があったとしても、リファラルとしてカウントされず、結果的にディレクトトラフィックの減少につながります。
内部リンクを理解する
そもそも、リンクとは
リンクは以下の要素により構成されています。
- 着地先のページ(url)
- アンカーテキスト(リンク先の説明)
- 属性(href)
内部リンクの目的
同じウェブサイトの中でページとページをリンク付けすることを内部リンクといいます。内部リンクの目的は主に以下の通りです。
- 各ページへのアクセス経路を作り、検索エンジンがウェブサイト内のコンテンツをスムーズにするクロールするため
- ページに階層をつけ、どのページが重要かわかりやすくするため(当該ページの被リンク数が増えるほど、リンクジュースも増す)
No follow
No followとは
内部リンクはランキングに大きな影響を及ぼしますが、必ずしも良い効果というわけではありません。クローラーに一部のリンクを辿らせないことでランキングに良い影響を与えることができます。その一部のリンクの例は以下の通りです。
- 有料リンク
- コメント
- フォーラム*会員限定ページなど
- 信頼できないコンテンツ
No followされたリンクの意味
ただし、このno followはクローラーにリンクを辿らせないようにするものであり、ユーザーはリンクを辿ることができます。すなわち、no followされたリンクであってもトラフィックを生み出す一役を担っています。
No followの確認の仕方
Chromeの場合、デベロッパーツール、もしくは右クリックから検証を選びます。その中の編集から”no follow”を検索すると、全てのnofollowタグがハイライトされます。
サイトスピードを理解する
サイトスピードの重要性
ユーザーの半数以上は、ウェブサイトの読み込み速度が2秒以下であることを期待していると言われていますさらに、読み込みに1秒かかるたびに、コンバージョン率が20%まで下がることがあると言われています。
つまり、サイトスピードを良好に保つことは、ランキングに良い影響を与えることにつながります。
またクローラーにはクロール・バジェットと呼ばれるものがあります。もしウェブサイトの規模が莫大な場合、サイトスピードを良好に保つことでより多くのページにクローラーをアクセスさせることが可能になるのです。
重視すべきポイント
Time To First Byte(TTFB)
「最初の1バイトが到着するまでの時間」を指します。ブラウザがサーバーからのデータの最初のバイトを受け取るまでにかかる時間のことです。
Total download time for the page
ページ上の要素をすべてダウンロードするために必要な時間のことです。
Full render time
ページに必要なすべてのものをダウンロードし、かつ視覚的に完成させるまでに必要な時間のことです。
サイトスピードの確認の仕方
サイトスピードの確認は以下の2種類の方法で行えます。
- スピードを測定できるサイトを利用する
- デベロッパーツールのネットワークから確認する
Robots.txt fileを理解する
Robots.txt fileとは
Robots.txt file(robots exclusion protocol/standard)は、ウェブロボット(=検索エンジン)に対してどのページをクロールさせるか/させないかを指示するテキストファイルです。
Robots.txt fileの確認の仕方
URLのルートの後ろに/robots.txtとつけて検索をします。
すると、以下のようなテキストファイルが見つかります。
User-Agent: *
Disallow: /*/search
Disallow: /*/apis
Disallow: /*/api
Disallow: /*/bin/search.py
Disallow: /bin/search.py
Disallow: /bin/search.go
デフォルトはAllow(クロールを許可する)のため、それで問題なければいじる必要はありません。
クロール・バジェットについて
なぜこの指示が必要かというと、必要ないページをクロールさせず、最も価値のあるページをクロールさせることでクロール・バジェットを有効活用し、ランキングを高めるためです。
Disallowにすべきページ
以下のようなページはdisallowに設定してクロールさせないべきです。
- 同じコンテンツ
- サンキュー・ページ
- CMS(WordPressなど)のアドミン・ページ
Robots Meta Tag
Meta robots tagは検索エンジンに対し、何をフォローする/しないかを指示するタグです。通常、 <head>セクションの中に記述するHTMLコードのことを指します。
このメタタグは、検索エンジンにページをインデックスさせるか/させないかの指示を出すことができます。また、クローラーに対してページ内のリンクを辿るか/辿らないかの指示を出すことができます。たとえば多くの外部リンクを抱えているページからクローラーを逃すことは、リンクジュースおよび権威性を手放しているようなものだからです。
<div class=”concept-box5″><p>ただし、クローラーにリンクを辿らせることが必ずしも悪いことではありません。外部リンク先のページが将来的にあなたのページに訪問し、リンクを貼り返すことだってありえるのです。</p></div>
Robots.txt(Allow/Disallow)との違い
Robots.txtは一般設定として使用することができ、例えばDisallow:/portfolioとした場合は、/portfolio以下の階層のページはすべてDisallowが適用されるためクローラーが訪問することはありません。
一方、Robots Meta Tagsはページ1枚に対して固有に使用することができます。つまり、階層関係に関係なく使用できるので、Nofollowを設定したページ以外は階層的には下でもクローラーが訪問することができます。
まとめ
index: 検索エンジンにページのインデックスを許可する。デフォルト。
noindex: 検索エンジンにページのインデックスを許可しない。
follow: 検索エンジンにページのリンクを辿ってよいと許可する。デフォルト。
nofollow: 検索エンジンにページのリンクを辿ってはいけないと禁止する。
サイトマップ
サイトマップとは
サイトマップとは、簡単に言えばウェブサイトのURLをまとめたリストです。サイトマップには目的と形式により種類が2つあります。
- ユーザー向けのサイトマップ:ユーザーが使いやすいように作られたマップです。HTMLで作られています。
- 検索エンジン向けのサイトマップ:クローラーにウェブサイトをくまなくクロールしてもらうために作られたマップです。XMLで作られています。
サイトマップのおかげで、それぞれの内部リンクを辿らずとも、ウェブサイトの構成を理解し、ワンクリックでそのページへ行くことができるのです。
XMLサイトマップの効果
クローラーにより早くインデックスさせる(indexation)ことができます。
- 特にウェブサイトに以下のような特徴がある場合に効果的です。
- ウェブサイトの規模が大きい場合、また構造が深い場合
- よく新しいページを追加する場合
- よくページ内のコンテンツを変更する場合
- 内部リンクが弱い場合、孤立しているページがある場合
- 被リンクが少ない場合
インデックスさせたくない記事が多くある場合、サイトマップにノーインデックスのURLを記載して提出することで速やかにインデックスを解除(deindexation)することができます。しかし、このようなURLを保持するのは一時的にするべきです。
URL
URLの構造
プロトコル(Protocol)
https:// またはhttp://
サブドメイン(Sub-domain)
通常はwww.、但し大きなウェブサイトだとカスタムの場合があり、その際はランキングはサブドメインごとに独立して計算される。
ドメインネーム(Domain name)
サイト固有のカスタムネーム、キーワードを含めることが有効
トップレベルドメイン(the Top Level Domain/TLD)
.com/.net/.orgなど様々な種類がある
スラグ(Slug)
TLD以下に続くもの、ホームページ以外のページにはすべて必要。サブフォルダーにしても良いし、ROOTに直接おいても良い。
URLを作成する際の注意点
ハイフン(-)を使うこと
アンダースコア(_)やプラスマーク(+)も使用できますが、最も良いのはハイフンを使用することです。
ページの内容を明確にすること
ユーザーと検索エンジンにとって、そのURLを見れば何が書いてあるかわかることが重要です。
ストップワードを使わない
ストップワードとは、andやtheなどのことです。省略しても意味が通じます。
大文字を使わない
全てアルファベット小文字にしましょう。
「?」マークを使わない
URL中の「?」はパラメーターフィルターという別の機能を持たせることがあるため、念のため使わない方が賢明です。
同じ単語を繰り返さない
同じ単語を2度以上使用するのは避けましょう。
リダイレクト
リダイレクトとは?なぜ必要?
ウェブページの場所は変わらないことが理想ですが、実際にはウェブサイトのプラットフォームを変更した場合など、URLの変更などが良く起こります。
しかし、何もしないままでいると、そのページにあった権威性を丸ごと失ってしまうことにつながりますし、またユーザーも古いURLにアクセスした際に404が出てしまうので、ウェブサイトが壊れていると勘違いしてしまう可能性もあります。
そんな時に有効なのがURLリダイレクト(URL redirection)です。これにより、ユーザーと検索エンジンに対して、ページは新しい住所(URL)に変更になったことを伝えることが可能になります。
リダイレクトの設定に必要なもの
リダイレクトの設定には以下の3点が必要です。
- 古いURL
- 新しいURL
- 使用するリダイレクト
リダイレクトの種類
リダイレクトにはいくつか種類がありますが、SEO的に重要なのは以下の2点です。
301リダイレクト
ページが新しい住所へ永久的に移動したことを示すリダイレクトです。殆どのケースでこちらを利用します。
302リダイレクト
サイトメンテナンスなどの一時的なリダイレクトに利用します。検索エンジンは、権威性を新しいページへ受け渡ししません。
HTTPステータスコード
HTTPステータスコードとは?
ユーザーがウェブサイトを訪問した際、ブラウザはサイトのサーバーにリクエストを送り、それに応じてサーバーは3つの数字のコードで応答します。それがHTTステータスコードです。
これらのコードを理解することで、サーバーとブラウザの間に問題がないか判断し、問題がある場合には復帰のための処理を進めることができます。
ステータスコードの例
1xxs – リクエスト処理中
2xxs – 問題なし
3xxs – リダイレクト
4xxs – クライアントエラー:ページが見つからない、ウェブサイト側の問題
5xxs – サーバーエラー:リクエストされたものの、サーバーで上手く処理されなかった
404 Not Found
ブラウザがリクエストしたページがサーバー上で見つからなかったことを示しています。しかし、永久的にないままなのか、それとも一時的なものなのかはわかりません。
404のページは、最も関連性の高いページへ301リダイレクトを行うべきです。ホームページへリダイレクトしてしまうと、ユーザーがページが削除されていることに気づかず混乱させてしまうからです。
また、あえて404ページを表示させる場合もあります。これにより、検索エンジンがインデックスしたり繰り返しクロールしないようにすることができます。例えば、Eコマースサイトで商品が売り切れている場合などです。
リンクが既に拡散されたりコピーされている場合、削除するだけだとそこへ行こうとするユーザーがいる可能性があるため404の設定は必要です。
410 Gone
410は404と比較して永久的なもの、つまりサーバー上から消滅してしまい、かつ転送先もないということです。クローラーやユーザーが410ページにたどり着かないように、410につながるリンクや参照は一切排除しなければいけません。
500 Internal Server Error
ページが見つからないのではなく、サーバーに問題がありそれがウェブサイトにも影響している状態です。放置しているとランキングに影響する恐れがあるので、こまめにメンテナンスを行い、解決するようにすることが必要です。
503 Service Unavailable
503はサーバーが一時的に使用できない状態を示します。 クローラーとユーザーは後で試すことを告げられます。例えば、過度のトラフィック、サーバーメンテナンスなどが原因です。 503は検索エンジンに対し、短期間でページが回復することを告げています。
カノニカルタグ
カノニカルタグとは?
カノニカルは正典という意味です。カノニカルタグは、(aka “rel canonical”)検索エンジンに特定のURLがページのオリジナル(=つまり正典)であることを示す役割を担っています。完全に同じ~ほぼ同じコンテンツが複数のURLに存在する場合に生じる問題を防ぐために使用します。 カノニカルタグの使用により、どのページを検索結果(SERPs)に表示させたいかを伝えることができます。
同一コンテンツがある場合のSEO上の問題
1) クローラーが膨大な同一コンテンツのページをクロールしなければならない場合、クロール・バジェットの関係により、せっかく重複していないページがクロールされない可能性がある。
2) 大きな重複はランキングに影響する可能性がある。
3) もしランク付けされたとしても、検索エンジンは間違ったURLをオリジナルとみなす可能性がある。
重複コンテンツがなくてもカノニカルタグをつける場合
セルフリファレンス(Self-referential)
カノニカルタグを利用して、自分のページに参照することができます。これをセルフリファレンスと呼びます。
重複コンテンツがなくてもカノニカルタグをつける理由
www.example.com
https://www.example.com
https://example.com
Example.com
クローラーやユーザーは上記のいずれからもアクセスしてくる可能性があるためです。予期せぬ問題を防ぐため、特にホームページを敢えてカノニカルにすることは非常に有効な手段と言えます。
カノニカルタグを使用する際の注意点
シグナルをごちゃまぜにしない
A:オリジナル B:重複 の場合、
@ページB:A←B、@ページA:A←A であるべきです。
@ページB:A←B、@ページA:B←A はNGです。
B→A→301リダイレクト→B もNGです。
C→B→Aのようなカノニカルタグチェーンを作るのも避けた方が良いです。この場合、それぞれのページをすべてAに直結させましょう。
検索エンジンにとって理解しやすいシグナルを設定しましょう。
似ているコンテンツをカノニカルにする場合
全くの同一コンテンツでなくても、似ているコンテンツに対しカノニカルタグを使用することができます。例えば、商品ページで色が違う、通貨が違うだけのページなど。ただし、この場合はカノニカルでないページはすべてランキングに影響しないことを覚えておくべきです。
複数のドメインを跨った重複の場合
もし複数のウェブサイトを利用している場合、ドメインを超えてカノニカルタグを使用することが可能です。カノニカルタグを使用することで、ランキングパワーを1つのサイトに集約することができます。一方、カノニカルでないページはランキングに上がってこなくなるので、使用する前にはそれぞれのビジネスモデルに適しているか確認する必要があります。
カノニカルタグはリンクエクイティ(link equity=PageRank, Authority, etc.)に影響するか?
301リダイレクトはリンクエクイティを新しいページに受け渡しますが、カノニカルタグはどうでしょうか。多くのケースにおいて、カノニカルなページにリンクエクイティが受け渡されるように見えますが、301リダイレクトとカノニカルタグは全く異なる解決手法であり、ユーザーとクローラーに対して全く異なる結果をもたらすことに注意しなくてはいけません。
もし301リダイレクトによりページを移動する場合、これは自動で行われるものなのでユーザー(人間)は最初のページを見ることがありません。しかし、カノニカルタグをつける場合、クローラーには移動先がオリジナルだと理解できますが、ユーザー(人間)は物理的にどちらのウェブページにもアクセスできてしまいます。目的によって、使い分けが必要です。
構造化データ(Structured data)
構造化データとは
構造化データとは、検索エンジンがウェブサイトについてより深く理解するためのマークアップです。つまり、構造化データはウェブサイトに何が書かれているのか、何を使ってほしいのか、ロボットに伝える役割を持っています。ロボットに上手く伝えることで、SERPsの要素、例えばリッチスニペットやナレッジ・ボックスでの見え方をある程度コントロールすることができます。
構造化データの確認の仕方
Google structured data testing tool
を使用して確認することができます。
Schema.org とは
スキーマは最も一般的に使用されている構造化データです。
Google, Bing, Yahoo!, Yandex で使用することができます。
スキーマは検索エンジンに対しコンテンツの意味を伝えます。
検索エンジンは人間ではないのでそのままではHTMLに書かれているものが何を指しているのか理解できませんが、正しいスキーマを利用することで、検索エンジンにもその言葉の意味を伝えることができるのです。
例)スキーマを利用しない: <h1>Avatar</h1>
Avatarが映画の名前であることは人間ならわかりますが、検索エンジンには人の名前なのか?場所か?商品名か?全く分かりません。スキーマを使うことでこれは映画の名前だということをわからせることができ、映画に関連する検索結果に表示させることが可能になるのです。
スキーマが使用されることにより、ユーザーはSERPsにおいてウェブサイトが何に関することか、会社がどこにあるのか、何をしているのか、どのくらいの料金なのか等の多くの情報を知ることができます。マーケターからしてみれば、オンラインにおける名刺ととらえてよいでしょう。
JSON-LD
変更が少ない情報に対して主に使用します。
<head>内に入力していきます。
Micro Data
変更が多いものに対して主に使用します。
<body>内に記述していきます。
構造化データはランキングに影響するか?
構造化データがランキングに影響するかどうかははっきりとわかっていないようです。ただし、構造化データにより作られたリッチスニペットはクリック率を高める確率が高いことがわかっています。
以上!です!長らくお付き合い、ありがとうございました。