0

私のウェブサイトのブログは PHP で書かれています。SQL データベースからすべてのデータを取得します。

foreach($db->query("SELECT * FROM news ORDER BY position") as $row){   
 echo "<h1> {$row['title']} </h1>";
 echo "<span> {$row['date']} </span>"; 
 echo "<div> {$row['text']} </div> "; 
 echo "<a href='http://www.mywebsite.ch/images/news/{$row['name']}'><img src='http://www.mywebsite.ch/images/news/{$row['name']}'/></a>"; }

Web サイトにソーシャル共有ボタンを実装しようとしています。私は google+ から始めて、いくつかの問題に遭遇しました。ブログ エントリごとに google+ 共有ボタンが必要なので、このコードを foreach ループに入れます。

<g:plusone size="medium" href="http://www.mywebsite.ch/images/news/<?php echo "{$row['name']}" ?>" ></g:plusone>

部分的に機能しました。各画像の下に google+ ボタンがあり、google+ は正しい画像を取得しました。

各 google+ ボタンの正しい画像

しかし、説明とタイトルがありませんでした。インターネットで解決策を検索したところ、いくつかの記事が見つかりました -> Google はこのスニペットを削除しました。

タイトルと説明はありませんが、これを見つけました... https://developers.google.com/+/web/snippet/ ...Schema.orgマイクロデータを実装しようとし、Googleがタイトルを認識できるようにコードを変更しましたと説明

foreach($db->query("SELECT * FROM news ORDER BY position") as $row){   
 echo "<h1 itemprop='title'> {$row['title']} </h1>";
 echo "<span itemprop='author'> myself </span>";
 echo "<span itemprop='datePublished'> {$row['date']} </span>"; 
 echo "<div itemprop='description'> {$row['text']} </div> "; 
 echo "<a href='http://www.mywebsite.ch/images/news/{$row['name']}'><img src='http://www.mywebsite.ch/images/news/{$row['name']}' itemprop='image' /></a>"; }

そのため、Google+ 共有ボタンをクリックすると、正しいタイトルとテキストが表示されますが、Google は常にページの最後の画像のみを取得します。

私はインターネットで解決策を探し続け、ますます混乱しました。いくつかのページで、以前に使用した方法では1つのページに複数のgoogle+ボタンを配置することしかできないと書かれています->

<g:plusone size="medium" href="http://www.mywebsite.ch/images/news/<?php echo "{$row['name']}" ?>" ></g:plusone> 

これが機能しているウェブサイトがいくつかあるので(おそらくphpで書かれていないのでしょうか?)、私はそれを信じていません。

誰かが私が間違っていることを知っていますか?

4

1 に答える 1

0

Google+ は、共有されている URL の応答から解析されたデータを表示します。

画像は機能するがタイトルがない最初の例。これは、画像の直接 URL を共有しているためです。Google は URL を取得し、それが画像であることを検出し、タイトルを解析する HTML がないため、サムネイルを表示します。

タイトルを正しく解析しているが、最後の画像を取得している 2 番目のインスタンス。これは単一の URL であるため、最後の画像以外に表示する画像を Google が知る方法はありません。

解決策は、すべての画像に Schema.org タグを含む独自の HTML ページが必要であり、すべての Google+ ボタンを含むインデックス ページが、画像自体に直接ではなく、画像を含む HTML ページへの URL を共有する必要があることです。

于 2015-10-10T23:58:40.540 に答える