再クロールは、2つの方法があります。
|
画面を利用する |
1URLに対してクロールする際に使用します。 |
|
APIを利用する |
1URL又は複数件をまとめてクロールする際に使用します。 |
画面を利用する
-
メインニューから、コンテンツ >> ページの統計 >> ページの管理 にアクセスして下さい。
-
検索ウインドウにクロールしたいURLを入力して、右の検索ボタンをクリックして下さい。
トップランキングの一覧から各リンクをクリックする方法でも同様のページにアクセスできます。 -
右端の「ページの管理」をクリックして下さい。
-
下部にある「再クロール」ボタンをクリックして下さい。
APIを利用する
再クロールをリクエストするAPIについては以下のページをご参照下さい。
サイト全体を再クロールするためにはURLの一覧を用意する必要があります。以下に一覧を生成する方法の例を示します。
-
CMSから生成する
お使いのCMSからURL一覧を生成することができればそれをお使いください。
-
/traffic/event から生成する
/traffic APIを用いて、直近にアクセスのあったURLの一覧を生成することが出来ます。$ python cx.py /traffic/event '{"siteId":"<siteId>","start":"-2d","stop":"-1d","groups":["url"],"count":1000}' | jq -r '.groups[0].items[]|[.item]|@csv'
一度のAPIコールで取得できるURLの件数は1000個までです。APIの問い合わせ期間("start"/"stop"で指定の期間)内にアクセスされたURLの数が1000を超える場合には、期間を絞って複数回に分けて実行してください。複数回APIを実行した場合には、各回に取得したURLのリストを重複を排除した上でマージしてください。
また、"http://www.example.com"のようなURLの"www."の部分が省略されて"http://example.com"のように出力されることがあります。この省略されたURLではアクセス出来ない(例:404エラーとなる)場合にはURLを補完してください。
この方法で生成したURL一覧はサイト全体のページを必ずしも網羅していないかもしれませんが、十分な期間(例えば直近一ヶ月)にアクセスされたURLのリストの再クロールを行えば実質上問題ないと考えられます(再クロールの目的に応じてご判断ください)。
-
/document/search から生成する
$ python cx.py /document/search '"siteIds":["1140702777523767808"],"filter":"filter(publishtime:range[time(\"-20d\"),time(\"-10d\")])","resultFields":["url"],"count":1000}' | jq -r '.matches[]|[.fields[0].value]|@csv'
こちらのAPIも一度に取得できるのは1000件までです。したがって、上記の例のようにpublishtimeの期間で区切るなどして一度の取得件数が1000件以内になるようにしてください。
生成したURLのリストを /profile/content/push に一件ずつ渡して再クロールさせます。サイトへの負荷およびPiano Insightのクローラの負荷を考慮して少なくとも10秒間隔でpushしてください。
$ cat urls.txt | while read url ; do python cx.py /profile/content/push "{\"url\":\"${url}\"}" ; sleep 10; done