PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 1.0.2
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v1.0.2
2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.10.0 All 48 releases
thinkrank / assets / sitemap.xsl

sitemap.xsl in ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO 1.0.2, at assets/sitemap.xsl

226 lines 9.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9">
3 <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
4
5 <xsl:template match="/">
6 <html xmlns="http://www.w3.org/1999/xhtml">
7 <head>
8 <title>XML Sitemap - ThinkRank SEO</title>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <style type="text/css">
11 body {
12 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
13 margin: 0;
14 padding: 20px;
15 background-color: #f8f9fa;
16 color: #333;
17 line-height: 1.6;
18 }
19 .header {
20 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
21 color: white;
22 padding: 30px;
23 border-radius: 10px;
24 margin-bottom: 30px;
25 text-align: center;
26 }
27 .header h1 {
28 margin: 0;
29 font-size: 2.5em;
30 font-weight: 300;
31 }
32 .header p {
33 margin: 10px 0 0 0;
34 opacity: 0.9;
35 font-size: 1.1em;
36 }
37 .stats {
38 display: flex;
39 justify-content: center;
40 gap: 30px;
41 margin: 20px 0;
42 flex-wrap: wrap;
43 }
44 .stat-item {
45 background: rgba(255,255,255,0.2);
46 padding: 15px 25px;
47 border-radius: 8px;
48 text-align: center;
49 }
50 .stat-number {
51 font-size: 2em;
52 font-weight: bold;
53 display: block;
54 }
55 .stat-label {
56 font-size: 0.9em;
57 opacity: 0.8;
58 }
59 .container {
60 max-width: 1200px;
61 margin: 0 auto;
62 background: white;
63 border-radius: 10px;
64 box-shadow: 0 4px 6px rgba(0,0,0,0.1);
65 overflow: hidden;
66 }
67 .table-header {
68 background: #f8f9fa;
69 padding: 20px;
70 border-bottom: 2px solid #e9ecef;
71 }
72 .table-header h2 {
73 margin: 0;
74 color: #495057;
75 font-size: 1.5em;
76 }
77 table {
78 width: 100%;
79 border-collapse: collapse;
80 font-size: 14px;
81 }
82 th {
83 background: #6c757d;
84 color: white;
85 padding: 15px 10px;
86 text-align: left;
87 font-weight: 600;
88 text-transform: uppercase;
89 font-size: 12px;
90 letter-spacing: 0.5px;
91 }
92 td {
93 padding: 12px 10px;
94 border-bottom: 1px solid #e9ecef;
95 vertical-align: top;
96 }
97 tr:hover {
98 background-color: #f8f9fa;
99 }
100 .url-cell {
101 max-width: 400px;
102 word-break: break-all;
103 }
104 .url-cell a {
105 color: #007bff;
106 text-decoration: none;
107 font-weight: 500;
108 }
109 .url-cell a:hover {
110 text-decoration: underline;
111 color: #0056b3;
112 }
113 .priority-high { color: #28a745; font-weight: bold; }
114 .priority-medium { color: #ffc107; font-weight: bold; }
115 .priority-low { color: #6c757d; }
116 .changefreq {
117 background: #e9ecef;
118 padding: 4px 8px;
119 border-radius: 4px;
120 font-size: 12px;
121 text-transform: uppercase;
122 font-weight: 600;
123 }
124 .lastmod {
125 font-family: 'Courier New', monospace;
126 font-size: 12px;
127 color: #6c757d;
128 }
129 .footer {
130 text-align: center;
131 padding: 30px;
132 color: #6c757d;
133 background: #f8f9fa;
134 margin-top: 30px;
135 border-radius: 10px;
136 }
137 .footer a {
138 color: #007bff;
139 text-decoration: none;
140 }
141 .footer a:hover {
142 text-decoration: underline;
143 }
144 @media (max-width: 768px) {
145 body { padding: 10px; }
146 .header { padding: 20px; }
147 .header h1 { font-size: 2em; }
148 .stats { gap: 15px; }
149 .stat-item { padding: 10px 15px; }
150 table { font-size: 12px; }
151 th, td { padding: 8px 6px; }
152 .url-cell { max-width: 200px; }
153 }
154 </style>
155 </head>
156 <body>
157 <div class="header">
158 <h1>XML Sitemap</h1>
159 <p>Generated by ThinkRank SEO Plugin</p>
160 <div class="stats">
161 <div class="stat-item">
162 <span class="stat-number"><xsl:value-of select="count(sitemap:urlset/sitemap:url)"/></span>
163 <span class="stat-label">Total URLs</span>
164 </div>
165 <div class="stat-item">
166 <span class="stat-number">Today</span>
167 <span class="stat-label">Generated</span>
168 </div>
169 </div>
170 </div>
171
172 <div class="container">
173 <div class="table-header">
174 <h2>Sitemap URLs</h2>
175 </div>
176 <table>
177 <thead>
178 <tr>
179 <th>URL</th>
180 <th>Last Modified</th>
181 <th>Priority</th>
182 <th>Change Frequency</th>
183 </tr>
184 </thead>
185 <tbody>
186 <xsl:for-each select="sitemap:urlset/sitemap:url">
187 <xsl:sort select="sitemap:priority" order="descending"/>
188 <tr>
189 <td class="url-cell">
190 <a href="{sitemap:loc}" target="_blank">
191 <xsl:value-of select="sitemap:loc"/>
192 </a>
193 </td>
194 <td class="lastmod">
195 <xsl:value-of select="substring(sitemap:lastmod, 1, 10)"/>
196 </td>
197 <td>
198 <xsl:attribute name="class">
199 <xsl:choose>
200 <xsl:when test="sitemap:priority &gt;= 0.8">priority-high</xsl:when>
201 <xsl:when test="sitemap:priority &gt;= 0.5">priority-medium</xsl:when>
202 <xsl:otherwise>priority-low</xsl:otherwise>
203 </xsl:choose>
204 </xsl:attribute>
205 <xsl:value-of select="sitemap:priority"/>
206 </td>
207 <td>
208 <span class="changefreq">
209 <xsl:value-of select="sitemap:changefreq"/>
210 </span>
211 </td>
212 </tr>
213 </xsl:for-each>
214 </tbody>
215 </table>
216 </div>
217
218 <div class="footer">
219 <p>This XML sitemap is used by search engines to better understand your website structure.</p>
220 <p>Generated by <a href="https://wordpress.org/plugins/thinkrank/" target="_blank">ThinkRank SEO</a></p>
221 </div>
222 </body>
223 </html>
224 </xsl:template>
225 </xsl:stylesheet>
226