close

在竹貓星球看到了這篇[分享] 關於搜尋引擎來訪的控制與管理, 裡頭提到了利用PHPBB的sitemp產生器, 動態產生動態產生sitemap.xml(事實上是由phpbb.php產生的內容), 來提交給Google。

雖然還沒測是那個sitemap產生器能否在phpbb 3.x 使用, 不過版本似乎有點舊(2005年), 於是又在同一個網站(phpBBHacks.com)找到一個較新的sitemap產生器, 使用的方式也大致相同。

  1. 將下載下來的sitemap產生器解壓縮, 將 google-sitemap.php放到 phpbb的根目錄
  2. 修改 google-sitemap.php的內容, 把下列內容中的「www.YOUR-DOMAIN.TLD」改成自己phpbb的網址
    $domain_root = 'http://www.YOUR-DOMAIN.TLD/'; // Edit here
  3. 將改好的檔案上傳到主機。
  4. 將google-sitemap.php當作sitemap提交給google(在Google網站管理員工具提交), 基本上提交給Google的是由google-sitemap.php所產生的「sitemap索引」, 實際的sitemap也會經由此索引, 由google-sitemap.php依照論壇各版產生給Google。
  5. 等待google去抓這個sitemap, 看看結果訊息是否正常。

 

出現錯誤時的修改方式:

不過實際使用時, 會發現提交sitemap之後會出現錯誤訊息, 似乎Google目前並不支援在sitemap索引中使用<changefreq>, 所以要修改一下google-sitemap.php, 把下列這段的紅字部份改成註解


{
  echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
  echo '  <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
   $sql = 'SELECT forum_id FROM ' . FORUMS_TABLE;
  $result = $db->sql_query($sql);
  while($data = $db->sql_fetchrow($result))
  {
     if ($auth->acl_get('f_list', $data['forum_id']))
      {
        echo '    <sitemap>' . "\n";
      echo '       <loc>'. $domain_root .'google-sitemap.php?fid='.$data['forum_id'].'</loc>'. "\n";
      echo '       <changefreq>daily</changefreq>'. "\n";
         echo '    </sitemap>'. "\n";
    }
  }
  echo "\n".'  </sitemapindex>';
}

 

上面的紅字部份前面加上 「//」, 變成 「//     echo '       <changefreq>daily</changefreq>'. "\n"; ,重新上傳並提交給google之後稍等一段時間, 就會出現正常訊息了!


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jikky 的頭像
    Jikky

    咖啡戒斷症候群

    Jikky 發表在 痞客邦 留言(0) 人氣()