被リンク量の計算(例)上記のデータ構造を元に、管理が必要になる被リンクの量を計算してみます。1つのドメインに対して1,000ページあり、1つのページに平均100件の被リンクが付いている場合、10万件の被リンクを管理する事になります。100,000もし上記条件のサイトが10個あれば100万件の被リンクを管理する計算になります。ダウンロードした被リンクCSVはドメインとパスが分かれていないため、URLからドメインを抜き出します。被リンクデータベースから取得すればドメインとパスを分けて取得できます。Consoleと被リンクデータベースの両方共に、被リンク情報にサブドメインの有り無しが混ざっている状況があります。そのため被リンクが向けられているドメインを決めて(大概においてはサブドメイン込み)で被リンク情報を整えます。分かり易く言えば「URLの名寄せ」ですね。ここで行うのは以下に列挙するような処理です。日本語ドメインなど国際化ドメインであればピュニコードへの変換パラメーターによっては除外する(GoogleAnalyticsのutm_など)フラグメント(#)は取り除く相対パスで書かれているURLを絶対パスで揃える(.と..や/と//など)長すぎるパスは一定の流れで揃える(255文字など)またページに対するURLエイリアス(同じ物だけど別名)には以下のパターンがあります。URLの#から後ろの部分。Canonical属性。正規化先のURLです。無視しても良いパラメーター。サイトによりますがGoogleAnalyticsや広告のパラメーターがこれになります。同一なものとして扱うURL例を列挙して見ます。http://webhack.hatenablog.com/#a?utm_source=googlehttp://webhack.hatenablog.com/#b?utm_source=yahoohttp://webhack.hatenablog.com/#c?utm_source=bing上記はそれぞれ異なるURLですが、1つの「http://webhack.hatenablog.com/」として扱います。このURLを適切に正規化するのが意外と骨が折れます。Consoleと被リンクデータベースから集めたデータを一元化して扱わないと不便なためデータを統一する必要があります。上記で被リンク情報を整えたのはこのためです。大規模サイトなると100万件以上の被リンクを管理する必要が出てくるかも知れません。そのため差分を追記する設計にします(ぼくはそうしましたが他の方法もあると思います)。この差分を抽出する仕組みを工夫せずにURLを文字列で一致させるような検索にしてしまうとクエリーが重くなります。データベースのインデックスを文字列型で検索されてしまうとパラメーター込みのURL文字列がそのまま使われる事になるためインデックスが作られていても重いでしょう。この部分の高速化が必須になります。被リンク元をクロールした結果で被リンク情報を更新する問題がありそうなサイトからリンクなのかどうかを判断する、被リンクが残っているか消えているのか情報を更新するには被リンク元をクロールする必要がでてきます。そのためクローラーを走らせて情報を定期的に更新して行きます。この被リンク情報を更新するクローラーを作るのがこれまた結構大変です。クローラーの作り方は別の話題なので記事中では割愛します。被リンク情報が統合されていて、検索が高速で行えるようになっていれば後はCSVに出力したり問題となるアンカーテキストだけを抜き出すと言った対応が可能になります。SEOキーワードを含んだアンカーテキストを探すこれが多数見つかるとペナルティを覚悟しないといけません。否認ファイルをアップロードしてリンクを無効化するか、被リンク先ページを削除して被リンクを無効化する等の対処方法があります。CSVファイルに出力してExcelで精査する情報が統合されていれば、それをCSVで出力してExcel上で操作する方が問題点が素早く見つかる事があります。リンクが急増した時期とそのリンク内容を確認する何も更新していない下層ページに大量のテキストリンクが付き始めたら明らかに変ですよね?自分たちではなく外部から被リンクを付けられている事も稀にですがあります。今まで多数存在していたテキストリンクが急に消えたらそれも変ですよね?被リンクの増減は重要な確認項目です。被リンク先の品質を見るAPIによっては被リンクを点数付けして数字で取得できるものがあります(あまり参考にならない数字ですが)。被リンク先をクロールする中でアダルトなキーワードや全く関係ない文章が多いページが多数あった場合、その被リンクはスパムかも知れません。フッターに他サイト含めテキストリンクが並んでいる場合、それはSEO目的のペイドリンクの可能性が高いので注意が必要です。今はペイドリンクを使っていなくても過去に依頼した個人運営サイトなどではリンクを剥がす手間をかけるメリットもないのでそのまま放置してあるケースがあります。後は良く話にでる隠しリンクですが、レスポンシブデザイン隆盛になった3年ぐらい前から既に隠しリンクは特に気にしなくても大丈夫です。ネガティブSEO問題のある被リンクを使って競合サイトの順位を下げる事をネガティブSEOと言います。この行為は業務妨害およびスパムに当たるため普通は行われませんが、気を付けて定期的に怪しいリンクは否認するのが安全ではあります。ネガティブSEOが原因で順位が下がったと騒ぎになったり問題になるケースでは、殆どの場合でネガティブSEOは行われていないと思って下さい。ネガティブSEOは隠れて行われる性質上、順位が下がった・上がらない理由に使い易く「可能性としてもしかして」を口にしているだけの事が多かったです。被リンク分析する方法の要点を手短にまとめてみました。ぼくは仕事で技術寄りのSEOをしている事もあり1人で全部自作しましたが、普通に考えるとこれをサイト運営者単位で独自に準備するのは無理ですよね。そのため同様のツールを持っていそうなSEOベンダーやウェブマーケティングベンダーに委託して被リンク分析してもらうのが良いと思います。取得できる被リンクの上限数は10万件です。このぐらいであれば何とかExcel等使った手作業で分析が可能かも知れませんが、これが5サイト10サイトあり、しかも毎月継続して分析するとなると、きっと明日から会社に行きたくなくなるでしょう。スタッフの精神衛生面ともし転職されてしまった場合の採用コストを考えると被リンク分析はツールの力に頼った方がお得です。API)https://developers.google.com/webmaster-tools/被リンクの否認方法https://support.google.com/webmasters/answer/2648487?hl=jaネガティブSEOについての情報(犠牲にならないために)https://moz.com/blog/preparing-for-negative-seohttps://searchenginewatch.com/sew/opinion/2421444/the-perils-of-negative-seo-what-you-need-to-know被リンクデータベースMozhttps://moz.com/Ahrefshttps://ahrefs.com/Majestichttps://majestic.com/さいごに質問などあればコメント欄にお願いします。質問したい方はTwitter宛てに連絡もらえればと思います。Twitterあと、このようなオリジナルのSEO記事を書くとウェブマーケティング系メディアがビックリするぐらいそのまま書き換え・転載して行くので、引用のルールを守って常識的な範疇での利用をお願いします。2015年12月時点。月別アーカイブはてなブログをはじめよう!tkosugaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。