• ベストアンサー

get_meta_tagsでのエラー回避方は?

PHPで、get_meta_tags を使って、ページの説明文を取得しようとしました。 $array["description"]の中身をみて取り出そうとしています。 ところが、http://www.google.co.jp/ のようなメタタグに、description のないページは エラーになってしまいます。 ない場合は、「説明文がありません」等のメッセージを表示させたいのですが、そもそも description が記述されていない場合に、値として、何が返ってくるのか分かりません。 エラーを回避したいのですが、どのようにしたらよいのでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

存在するかどうかチェックすればいいのでは? $array = get_meta_tags('http://google.co.jp'); if (array_key_exists('description', $array)) { print $array['description']; } else { print '説明文がありません'; }

dv8hjkwf
質問者

お礼

手元の「プチリファレンスマニュアル」をパラパラめくって、教えていただいたarray_key_exists関数の存在を確認しました。 おかげさまで解決しました。

関連するQ&A

  • Meta descriptionについて

    SEOで最近はmetaタグのdescriptionを あまり記述しない方向性になっているようです?   このdescriptionの内容が検索時の説明文になることは 周知のことですが、重要視されないとのことです。 記述しない場合は適当にbody部から拾って来てくれるようです。 descriptionの記述があっても先頭行やh1タグが表示される場合も 多いように見えます。 こうなるとdescriptionがSEO上不要ではないかとさえ思えます。 実際にプロの方でもdescriptionは記述しないという方もいます。 ますます重要性が低下していくであろうdescriptionを 全ページに渡って頭をひねって考えることにどう思われますか。

    • ベストアンサー
    • SEO
  • googleではMETAは無視されますか?

    HTMLの勉強をしている初心者です。googleに登録されたサイトで面白い現象を見つけましたので、ご意見をいただければと思います。 googleの場合、 <meta name="keywords" content=" <meta name="description" content=" の記述をしても全て無視され、ページ内の文言に対してキーワードが設定されるようなんです。ということは、ヒットされるようになるためには、METAタグで記述した内容を本文内に入れ込むしかないということになるんですが、実際にはMETAは単語の羅列でそういうのは難しいと思います。descriptionは文章ですが、これについては同様の内容をページ内に入れ込むことでヒットするようになると思いますが。例えばですが、見えない文字にしてMETAを入れるなどできないでしょうか。googleに効率的に登録されるためのノウハウサイトなどありましたら教えていただきたいのですが。 よろしくお願いいたします。

  • Metaタグのキーワードについて。

    こんにちは。 標題の件ですが、Google等の検索エンジンで 私作ったページの名前で検索すると、 ヒットするのですが、どんなサイトなのか、 検索一覧では分からないのです。 メタタグ使ってドリームウィーバーでトップで表示される ファイル(index.html)に コードインスペクタで以下のような情報を入れたのですが、 メタタグがいきてないんですよね。 どうしてでしょうかね。。。 まだ古いキャッシュが残っていたりするのでしょうか。 以下のようなタグを使っています。 よろしくお願いします。 <head> <title>タイトル名</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="keywords" content="キーワードが入っています"> <meta name="description" content="検索で説明文として読ませたい文章がはいっています"> <html> </head>

    • ベストアンサー
    • HTML
  • metaタグを入れるとなぜか余白が

    DreamweaverCS3で、ホームページを作っています。 ほとんど出来上がったところで、metaタグを使って、それぞれauthor、 keywords、 description、を記述しました。 <meta name="author" content="xxxx" /> <meta name="keywords" content="xxx,xxx,xxx" lang="ja" /> <meta name="description" content="XXXXXXXX" />  するとページ上部の余白をゼロにしていたのに、なぜか余白ができてしまいます。 で、追加記述したメタタグをすべてとると、余白がなくなります。 どれかひとつでは、余白ができたままです。とにかく全部とらないとだめです。 utf-8をshift_jisにしても変わらないですし…。 ちなみにテーブルレイアウトです。 記述の方法は本を何度読んでも間違っていないのですが、なぜでしょう?素人な質問ですいません。よろしくお願いします。

    • ベストアンサー
    • HTML
  • METAタグ

    METAタグの <meta name="description" content=""> この部分は、ホームページの説明を入れるんですよね? 今トップページが1つ、子ページが1000あるのですが 全て同じ説明文を入れた方が良いのか、 子ページは一つ一つ独自の説明を入れた方が良いのか悩んでいます。 どちらの説明もほぼ同じ意味です。 SEO対策としてどちらが最適か教えてください。

    • ベストアンサー
    • HTML
  • meta "description"を書いたら駄目

    ワードプレスを使って日々記事を書いています SEO対策で <meta name="description" content=""> というのを記事ごとに書いた方が良いというのをよく見かけたので ワードプレスで新規記事投稿、新規作成で記事を書くとき テキストエディタの本文書く所の1番上に<meta name="description" content="80文字以内で説明を書く" /> <meta name="keywords" content="タイトルにある単語,本文にある単語,3個まで, /"> この二つを最近記事ごとに書いてきました。 しかし検索結果が思うように上位に表示されずおかしいなと思って 自分の書いた記事がグーグル検索にどう表示されるか調べてたんです。 「site:http://自分のURL書いてググる」 普通グーグルの検索結果は タイトル URL 「ここに3行<meta name="description" の説明が入る」 じゃないですか(添付画像参照) ですが実際反映されていたのは ヘッダーの(header.php)に書いてある方の <meta name="description"の文章でした!! <head>のすぐ下によくあるやつ 記事に <meta name="description"をわざわざ書くことによって ヘッダーの<meta name="description"と2つ存在する事になって ヘッダーの<meta name="description"が優先されるという事なのでしょうか!??? ではよくSEO対策のページで記事ごとに<meta name="description"を書けと言っているのは どうやって書けばいいのでしょう?? ヘッダーphpに存在している<meta name="description"はどの記事にも常に付いて回る存在で 記事ごとに書くことできないじゃないですか。 ここがさっぱり理解できていないのですが。 ヘッダーの<meta name="description" は削除してしまって 記事ごとに<meta name="description"を1つ1つ単独で書き込んで行けという事でしょうか??? 独学でさっぱり知識のない初心者ですが ヘッダーの(header.php)に書いてある方の <meta name="description"の文章が記事の検索結果に表示されるのは非常に困っております!!! 教えてください!助けてください

  • ロボット向けメタタグ

    HPを作成しました。 YAHOOやGOOで検索しましたが、ヒットされませんでした。メタタグを下記のように記述する必要があるらしいということまではなんとなくわかりました。 <META NAME="ROBOTS" CONTENT="ALL"> <META name="description" content="ホームページ紹介文"> <META name="keywords" content="キーワード1,キーワード2 ・・・・・"> YAHOOで検索した時に一番上に出てきたHPのソースをいくつか見たんですが、メタタグがないのも複数ありました。メタタグを記述しなくてもヒットさせることができるのでしょうか? これはすべてのページに記述する必要があるのでしょうか? パスワードで制限したページがあるのですが、これは検索でヒットさせたくありません。どうすればいいのでしょうか? 一番上のCONTENT="ALL"というのは、ALLでいいのでしょうか?

  • METAタグについて教えて下さい

    ホームページのMETA情報のところに、 通常のページのtitleとは別に、 <meta name="pagetitle" content="*******という記述があるホームページを見かけたのですが、 このタグにはどのような意味があるのでしょうか? また、通常のtitleとは別に、記述をした方がSEO対策上効果的なのでしょうか? 上記のページ内のソースには、 <meta name="keywords" contentと、 <meta name="description" contentはちゃんと入っていて、 これら以外にmeta name="pagetitle" content のタグがあったのです。 ちなみに上の****の部分には、 キーワードのような単語が並んでいました。 是非、宜しくお願い致します。

    • ベストアンサー
    • HTML
  • metaの順番

    こんにちは。よろしくお願いします。 "keywords"と、"description"についてです。 今までは、以下のように、 <html><head> <meta name="keywords" content=""> <meta name="description" content=""> <title></title> としてました。何年も考えずに、ず~っと、 ホームページをこれでやってきましたが、 <html><head> <title></title> <meta name="keywords" content=""> <meta name="description" content=""> と言う風に書いているページも多いですし、 猿でも出来るSEO対策 http://www.operationcheck.com/ と言うサイトも、その順序で説明しています。 やはり、こう変えた方が、当たり前でしょうか? そうなると、5~6つのサイトを変更しなければなりません。 よろしくお願い申し上げます。

  • HPの<meta>タグの記述方法を教えてください。

    お店のホームページを作ることになりmetaタグについて質問がありますのでよろしくお願いします。 まず、紹介文の記述(description)方法ですが、これは全てのページに載せた方がいいのでしょうか?内容は同じ方がいいのかページによって変えた方がいいのかどちらがいいのでしょうか? 例えば、インテリアショップのホームページでトップページでは、「アジア家具・雑貨を扱っています・・・」と載せて、椅子を紹介するページでは、「アジア系の椅子を豊富に取り揃えております・・・」とページによって内容を変えた方が検索を考えた場合はいいのでしょうか? それと、キーワードの記述(keywords)の方法も全ページ共通がいいのかページによって変えた方がいいのか、どちらがいいのでしょうか? よろしくお願いします。

専門家に質問してみよう