ラベル Search Console の投稿を表示しています。 すべての投稿を表示
ラベル Search Console の投稿を表示しています。 すべての投稿を表示

2016年2月12日金曜日

【Android】AppIndexingを設定してみた

こんにちは。エンジニアのKです。

【Android】AppIndexingを実装してみたの続きです。
前回までで最低限必要な実装は完了しましたが、
ディープリンクのテスト方法や、「Google Play Developer Console」、「Search Console」への登録方法でも
公式ドキュメントを読んだだけではピンと来ない部分があったので、補足できればと思います。

ディープリンクをテストする

実装したディープリンクがAppIndexingとして正常に動作するかテストします。
公式ドキュメント:App Indexing の実装をテストするの前半

方法としては、公式ドキュメントにあるADBでインテントを飛ばすやり方と、アプリがインストールされた端末のブラウザで、android-app://のリンクを踏んでみるやり方の2つがあります。

ADBでインテントを飛ばす

端末をUSBで接続し、コマンドラインから公式ドキュメントにあるドキュメントを実行すると、インテントが飛びます。
ディープリンクが正しく実装できていれば、アプリのコンテンツが立ち上がるはずです。
以下は、Android StudioのTerminalで実行した結果です。


実装が上手く行っていない、飛ばすインテントが誤っていると、「Error: Activity not started, unable to resolve Intent」といったエラーが表示されると思いますので、実装に誤りがないかを確認しましょう。

android-app://のリンクを踏む

webページを自由に変更できる環境があれば、aタグにテストURLを埋め込んでブラウザでアクセスします。
そういった環境がない場合は、公式ドキュメントにあるQRコード経由でアクセスすると便利だと思います。
前回の記事でも書きましたが、テストURLは

android-app://com.recipe-app/http/recipe/pierogi-poutine
android-app://com.recipe-app/recipe-app/recipe/pierogi-poutine

といったものになります。


AppIndexing APIをテストする

AppIndexing APIが正常に動作しているかも確認しておきます。
公式ドキュメント:App Indexing の実装をテストするの後半

これもアプリをインストールした端末をUSBでPCに接続し、ターミナルにコマンドを打ち込みます。
AppIndexing APIが起動する処理を通るようにアプリを操作すると、以下の様なログが出力されるはずです。
title, description, appUri, webUriが正しい値になっていればOKです。
マルチバイト文字を含めるとログ出力が文字化けしてしまいますが、URLエンコード処理は不要です。
試しにこのままリリースしてクロールさせたところ、検索結果に表示されるAppIndexingのリンクは文字化けしていませんでした。



Search Consoleにアプリを登録する

まずはSearch Consoleにアプリとしてプロパティを追加します。
公式ドキュメント:アプリの Search Console

Search Consoleにログインし、公式ドキュメントにあるようにandroid-app://のURLでプロパティを追加します。
すると、以下の画像のように、「Androidアプリ」のプロパティが追加されます。




Search Consoleでクロールテストをする

Search Consoleに登録すると、アプリに対しても「Fetch as Google」を行うことができます。(2016/02時点でアルファ版)
テスト対象のアプリは、基本的にはGoogle Playで配布されている最新版のapkですが、この場でapkファイルをアップロードして試す事もできるようです。
言語を選択するセレクトボックスは「日本語」にした方が良さそうです。「英語」のまま実行したらエラーになってしまいました。

広告SDK等が含まれていると、広告で読み込まれる一部リソースがブロックされ「一部完了」のステータスになりますが、
正常にレンダリングされていれば問題ないと思います。


アプリとWebサイトを紐付ける

ここまで確認できたら、あとはアプリとwebサイトを紐付けて、GoogleにAppIndexingしてもらいます。
公式ドキュメント:アプリをサイトに関連付ける
※前提として、ディープリンクに対応したアプリをGoogle Playで公開している必要があります。

紐付け方はGoogle Playから行う方法と、Search Consoleから行う方法があります。
今回はGoogle PlayのサービスとAPIからwebサイトのURLを入力する方法で行ってみました。
すると、Search Console側に「{googleアカウント} が Android アプリ {パッケージID} を {webサイトURL} と関連付ける権限をリクエストしています」といったタイトルのメッセージが届きますので、承認しましょう。

これで、必要な作業は全て完了となります。
ここから徐々にgooglebotのによるアプリクロールが開始され、3-5日程度でSearch Console上でクロールステータスを確認することができると思います。
以下が実際のクロールステータスの画面ですが、クロール開始直後はエラーが大量に発生してしまいました。
ですが、特に何もせず様子を見ていたところ、エラーは0件となり、インデックス数が増加していきました。



インデックス数が増え始めると、その更に数日後(5日程度かかった)、google検索結果にAppIndexingのリンクが表示されるようになると思います。

2015年11月14日土曜日

Bloggerでインデックスステータスがずっと0 その2


お疲れ様です。岡田です。

前回、このブログのインデックスステータスが心停止状態になっているよ~という記事
(前回の記事:Bloggerでインデックスステータスがずっと0 その1
の末尾で「カステラ食べたい」と書いていたんですが、なんと後日リーダーがお土産でカステラをくださいました。
ありがとうございました。


その後インデックスステータスがどうなったか

いろいろやってみた前回の記事ですが、あれから3週間(もたってしまいましたが)
インデックスステータスは「ちょっと」増えました。

インデックスステータスが増えた
ちょっと増えた。

よ、、よかった、、、!!


導入してから2週間くらいは、数値が反映されないそうです。
(参考:Googleウェブマスターツールのその後「インデックスステータス」の数値がいつまでたってもゼロ?
(参考:インデックスステータスが0件から変動しない件について


よかったのはよかったのですが、4って少なくない?もっとあるんですけど。。。。

と思っていたら、大きな問題が発覚しました


ロボットによってブロックされたページがたくさん増えてた

こんなにブロックされてたなんて

4ページがインデックスに登録された裏で、38ページものページがブロックされていました。

robots.txt ファイルでブロックされているため、Google がアクセスできなかった URL です。」

ということは、前回設定したrobots.txtが悪さをしているみたい。


User-agent:* 
Allow: /search/label/
Disallow: /*archive 
Sitemap: http://stpsysdev.blogspot.jp/feeds/posts/default?orderby=UPDATED


基本方針としては、ラベルごとにページをまとめればページの内容がある程度そろうはずなので、ページとしても強くなるんじゃないかと思って、「Allow:/search/label/」を入れているのだけど、
このページたちはクロールされていないのかな?

どちらにせよ、robot.txtはこちらの意向通りに書かれているみたいなので、このままにしておくことにします。


サイトマップの中に表示されている「インデックスに登録済み」のページは「42」になっているから、
この「42」のうち「38」がブロックされているっていう意味なのかな。

ブロックされたということは、アーカイブページをブロックされたということだよね。

逆にインデックスに登録されたページがなんなのか、知りたいなぁ、、、、




続きます。

2015年10月23日金曜日

Bloggerでインデックスステータスがずっと0 その1

お疲れ様です。岡田です。

ちょうどひと月前の9月末にブログをBloggerへ移設してきたのですが、標題のとおり、Search Consoleで見れる「インデックスステータス」がずーーーーーーっと0になっているので、気になっていました。
序盤はコンテンツが少ないですし、新しいサイトなので、クローラーが来づらいのかなぁと、勝手な想像を巡らせていたのですが、1か月を過ぎた今もまだ「0」のままなので、いい加減どうにかしないとと思いました。

「ピーーーーーーーーーーーーーー」(心停止状態)


クロールエラーはないか

Search Consoleの左メニューにある「クロール」のところをちゃんと見てみます。

まず先頭の「クロールエラー」。
「サイトエラー」と「URLエラー」の2項目ありますが、どちらの「過去90日間エラーが検出されませんでした」となっているので、大丈夫っぽいですね。

クロールの統計情報を確認

次に、「クロールの統計情報」を見てみます。
「過去90日間のGooglebotの活動」とあるので、グラフに動きがあるということは、クロールできてるっていうことなんでしょう。たぶん。。。
10月7日に3ページ、クロールされてるみたい。その後ぼちぼち


robots.txtを確認

Bloggerでブログを作ると、デフォルトのrobot.txtはこんな風になっているのです。

User-agent: Mediapartners-Google
Disallow:
User-agent: *
Disallow: /search
Allow: /

各項目の意味については、こちら(robots.txtの書き方と効果的な活用法)を見ました。
真ん中よりちょっと下くらいで各項目について説明してもらえました。
(追記:後日山田くんがちょっと書いてくれました robots.txtの書き方)

このブログは、複数人数でいろいろなテーマについて記事を書いていく感じなので、開発チームのみなさんには記事に「ラベル」を付けてもらうようにお願いをしています。
そうすると、ラベルごとに記事の一覧が見れて、便利だな~と思ったわけです。
(そういうワケだからみんなラベル付けてくれ~)

たとえば、Kさんが書いてくれている「リンク切れ」というラベルがついている記事の一覧はhttp://stpsysdev.blogspot.jp/search/label/リンク切れ
というURLで表示できるのですが、このデフォルトのrobot.txtだと、このラベル別の記事ページにはクローラーが入らないようになってしまってるっぽいのです。

なので、これは変えたほうがいいな!と思いまして、こちら(Bloggerのサイトマップとrobots.txtの設定方法)を参考にして、robot.txtをこんな風にしました。

User-agent:* 
Allow: /search/label/
Disallow: /*archive 
Sitemap: http://stpsysdev.blogspot.jp/feeds/posts/default?orderby=UPDATED
これでインデックス数も増えるんじゃないかなぁ。と、期待ですが、どうなんだろう。

サイトマップを確認

いつだったか忘れてしまったのですが、かの心停止がずっと続いているのが気になり始めたころに、サイトマップを追加しました。
なんと、Bloggerにはサイトマップを作成する機能が備わっているので(こちらを参照しました:Bloggerのサイトマップ(sitemap.xml)の自動作成)、それで作成したものを「Search Console」⇒「クロール」⇒「サイトマップ」⇒「サイトマップの追加/テスト」から追加しました。

サイトマップのコンテンツというグラフを見ると、10月12日から送信されているページが増えているので、きっとこの時期にやったのかもしれません。

もしかしたらやらなくても上がってきてたのかもしれませんが、送信できているみたいですし、その後もコンテンツが増えるたびに数字が伸びてるみたいなので、OKってことにし、、、、!!?

ん?ちょっとまって

青が「送信」、赤が「インデックスに登録済み」

「インデックスに登録済み」が25もある!?ど、どういうこと・・・・・・

だって「インデックスステータス」が心停止だから、「インデックスに登録済み」のページが0っていうことなんじゃないの・・・チガウノ・・・・?

ヨクワカリマセン




というようなかたちで、Search Console からクロールについての設定を見直してみたのですが、これで「インデックスステータス」が息を吹き返してくれるといいのですが、、しばらく様子を見てみたいと思います。

なにかお知恵を貸してくださる方!コメントをお願いいたします。

そもそも「インデックスステータス」ってナニモノなのかしら、、、





【後記】
Kさんの見やすい記事を見習って、画像を使ってみたり、htmlをいじいじしてみましたが、なんか変。もうあきらめです。
h2タグの場所が変なのかな?エディタと二刀流だとはちゃめちゃです。
h2要素の個数は検索順位に影響を与えるか?
次回もがんばります。カステラ食べたい。