sitemap.xml/sitemap_index.xmlに表示用スタイルを指定する
サイトマップとサイトマップインデックスはサイト内コンテンツのURLを
検索エンジンに伝えてインデックス要求を行う事ができます。
実体はXMLファイルですが、目視確認するにはXMLのままでは視認性が悪くなります。
Webで開いた場合に整形されたHTMLとして表示できるように、
スタイルシートを指定して整形を行います。
サイトマップとサイトマップインデックスは、
似たXMLファイルですが、構造が異なりますのでスタイルは別々で指定します。
「サイトマップインデックス」に表示用スタイルを指定する
サイトマップインデックスの作成については以下でご紹介したものを利用します。
以下は整形前のXMLをスタイル指定なく表示したものです。
いかがでしょうか。
ブラウザが組み込みのデフォルトスタイルを使って表示してくれているので、
まだましですが「ソースの表示」を右クリックで選択して、
ファイルの実体を見ると更に読みにくい状態である事が分かるはずです。
実際には上記のスタイル指定なしのXMLには、
以下のようにスタイル指定を行って表示しています。
1 2 3 |
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="/sm_demo/sitemapindex_template.xsl" ?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></sitemapindex> |
「/sm_demo/sitemapindex_template.xsl
」の部分がスタイルシートの指定です。
スタイルシートは以下URLで確認できます。
以下の通り、HTMLタグに部分部分にXML的なタグが含まれているのが分かります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:si="http://www.sitemaps.org/schemas/sitemap/0.9" version="2.0" exclude-result-prefixes="si"> <xsl:template match="/"> <html> <head> <title> <xsl:text>sitemap_index_xml</xsl:text> </title> <link rel="stylesheet" type="text/css" href="./sitemap.css"/> </head> <body> <h1> <xsl:text>サイトマップ一覧</xsl:text> </h1> <table border="1"> <thead> <tr> <th> <xsl:text>サイトマップURL</xsl:text> </th> <th> <xsl:text>最終更新</xsl:text> </th> </tr> </thead> <tbody> <xsl:for-each select="si:sitemapindex/si:sitemap"> <tr> <td> <a target="_blank"> <xsl:attribute name="href"> <xsl:value-of select="si:loc"/> </xsl:attribute> <xsl:value-of select="si:loc"/> </a> </td> <td> <xsl:value-of select="si:lastmod"/> </td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> |
またスタイルシートの中ではHTMLで表示した際の
CSSスタイル指定がされています。
<link rel="stylesheet" type="text/css" href="./sitemap.css"/>
HTMLタグによって、どのような出力を行いたいのかというタグ出力を記載し、
そのタグに囲まれた部分にXMLの値を流し込んで表示するという仕組みです。
このXSLスタイルの定義には以下で紹介している注意点があります。
実際の表示スタイルの割り当てを行ったものは以下で確認ができます。
「サイトマップ」に表示用スタイルを指定する
サイトマップの作成については以下でご紹介したものを利用します。
以下は整形前のXMLをスタイル指定なく表示したものです。(一例)
いかがでしょうか。
こちらもブラウザが組み込みのデフォルトスタイルを使って表示してくれているので、
まだましですが「ソースの表示」を右クリックで選択して、
ファイルの実体を見ると更に読みにくい状態である事が分かるはずです。
実際には上記のスタイル指定なしのXMLには、
以下のようにスタイル指定を行って表示しています。
1 2 3 |
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="/sm_demo/sitemap_template.xsl" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset> |
「/sm_demo/sitemapindex_template.xsl
」の部分がスタイルシートの指定です。
スタイルシートは以下URLで確認できます。
以下の通り、HTMLタグに部分部分にXML的なタグが含まれているのが分かります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sm="http://www.sitemaps.org/schemas/sitemap/0.9" version="2.0" exclude-result-prefixes="sm"> <xsl:template match="/"> <html> <head> <title>sitemap_xml</title> <link rel="stylesheet" type="text/css" href="./sitemap.css"/> </head> <body> <h1> <xsl:text>コンテンツURL一覧</xsl:text> </h1> <table border="1"> <thead> <tr> <th> <xsl:text>インデックス対象URL</xsl:text> </th> <th> <xsl:text>最終更新</xsl:text> </th> <th> <xsl:text>頻度</xsl:text> </th> <th> <xsl:text>優先度</xsl:text> </th> </tr> </thead> <tbody> <xsl:for-each select="sm:urlset/sm:url"> <tr> <td> <a target="_blank"> <xsl:attribute name="href"> <xsl:value-of select="sm:loc"/> </xsl:attribute> <xsl:value-of select="sm:loc"/> </a> </td> <td> <xsl:value-of select="sm:lastmod"/> </td> <td> <xsl:value-of select="sm:changefreq"/> </td> <td> <xsl:value-of select="sm:priority"/> </td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet> |
またスタイルシートの中ではHTMLで表示した際の
CSSスタイル指定がされています。
<link rel="stylesheet" type="text/css" href="./sitemap.css"/>
HTMLタグによって、どのような出力を行いたいのかというタグ出力を記載し、
そのタグに囲まれた部分にXMLの値を流し込んで表示するという仕組みです。
このXSLスタイルの定義には以下で紹介している注意点があります。
実際の表示スタイルの割り当てを行ったものは以下で確認ができます。
当サイト内のコンテンツおよび画像を含むすべてにおいて、管理人アルゴリズンが著作権を保持しております。
当サイトでご紹介しております写真等につきましては著作権の放棄はしませんが、
ライセンスフリーでご利用いただいて構いません。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
サイト内コンテンツを引用される際には、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
公開日:
最終更新日:2018/06/04