<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SEO on Time Friend</title><link>https://time-friend.com/en/tags/seo/</link><description>Recent content in SEO on Time Friend</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Wed, 29 Jul 2026 15:15:07 +0800</lastBuildDate><atom:link href="https://time-friend.com/en/tags/seo/index.xml" rel="self" type="application/rss+xml"/><item><title>What I Did for Google SEO on This Blog</title><link>https://time-friend.com/en/archive/blog-architecture-google-seo/</link><pubDate>Tue, 25 Mar 2025 11:08:00 +0000</pubDate><guid>https://time-friend.com/en/archive/blog-architecture-google-seo/</guid><description>&lt;p&gt;This article only covers Google SEO. No other search engines. Reason: Google has the traffic share, doing Google well is enough.&lt;/p&gt;
&lt;h1 id="structured-data"&gt;Structured Data&lt;/h1&gt;
&lt;p&gt;The most important part. Structured data lets Google show rich results in search — publish date, author, summary.&lt;/p&gt;
&lt;p&gt;Every article gets JSON-LD injected at build time:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{ if .IsPage }}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;type&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;application/ld+json&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;@context&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://schema.org&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;@type&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Article&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;headline&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ .Title }}&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;datePublished&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ .Date.Format &amp;#34;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2006&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;01&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;02&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;T15&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;04&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;05&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;Z07&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;00&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; }}&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;dateModified&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ .Lastmod.Format &amp;#34;&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2006&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;01&lt;/span&gt;&lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;02&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;T15&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;04&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;05&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;Z07&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;00&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34; }}&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;author&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;@type&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;Person&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ .Site.Params.author }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ if .Description }}{{ .Description }}{{ else }}{{ .Summary | plainify }}{{ end }}&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ .Permalink }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {{ &lt;span style="color:#66d9ef"&gt;with&lt;/span&gt; .&lt;span style="color:#a6e22e"&gt;Params&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;tags&lt;/span&gt; }}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ,&lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;{{ delimit . &amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34; }}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {{ &lt;span style="color:#a6e22e"&gt;end&lt;/span&gt; }}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;One thing to note: dates in JSON-LD must be ISO 8601 format (&lt;code&gt;2025-03-17T10:43:00+08:00&lt;/code&gt;). If you only provide date without timezone, Google might not parse it correctly. Hugo&amp;rsquo;s &lt;code&gt;.Date.Format&lt;/code&gt; outputs timezone by default, but if frontmatter doesn&amp;rsquo;t have timezone info, it assumes UTC — might not match your actual publish time.&lt;/p&gt;</description></item><item><title>Hugo Blog Baidu SEO Ultimate Optimization, Baidu Xiongzhang Auto Push</title><link>https://time-friend.com/en/archive/hugo-template-seo-optimization/</link><pubDate>Sat, 17 Nov 2018 16:14:25 +0000</pubDate><guid>https://time-friend.com/en/archive/hugo-template-seo-optimization/</guid><description>&lt;p&gt;After switching to Hugo platform, the headache is that many SEO plugins from Hexo can&amp;rsquo;t be used.
Below I&amp;rsquo;ll share my SEO optimization solution.&lt;/p&gt;
&lt;h1 id="meta-tag-optimization"&gt;Meta Tag Optimization&lt;/h1&gt;
&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;meta description, considered the most useful meta tag, is the website&amp;rsquo;s introduction information.
Content should be controlled within 100 characters.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;meta&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;name&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;description&amp;#39;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;itemprop&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;description&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;content&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;{{ if .Description }}{{ .Description }}{{ else }}{{if .IsPage}}{{substr .Summary 0 100}}{{ end }}{{ end }}&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="keywords"&gt;Keywords&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{ if .Keywords }} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;meta&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;name&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;content&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;{{ delimit .Keywords &amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;,&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;}}&amp;#34;&lt;/span&gt; &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{else}}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;meta&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;name&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;content&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;{{ delimit .Site.Params.Keywords &amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;,&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#960050;background-color:#1e0010"&gt;}}&amp;#34;&lt;/span&gt; &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{{ end }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="baidu-xiongzhang-push"&gt;Baidu Xiongzhang Push&lt;/h1&gt;
&lt;p&gt;Speaking of SEO, Xiongzhang is essential, it can achieve indexing within 24 hours. So this must not be missed.&lt;/p&gt;</description></item><item><title>Make Your Hexo Blog Support Baidu Xiongzhang URL Auto-Push, 24-Hour Baidu Indexing</title><link>https://time-friend.com/en/archive/hexo-baidu-seo/</link><pubDate>Wed, 24 Oct 2018 21:32:05 +0000</pubDate><guid>https://time-friend.com/en/archive/hexo-baidu-seo/</guid><description>&lt;p&gt;Baidu launched Xiongzhanghao (Bear&amp;rsquo;s Paw). To make hexo support Xiongzhang push, I added the Xiongzhang push feature on top of the &lt;code&gt;hexo-baidu-url-submit&lt;/code&gt; plugin.
Articles pushed on the same day will be indexed within 24 hours. With this, Baidu indexing speed is very fast.&lt;/p&gt;
&lt;p&gt;No more waiting forever for Baidu to index your content.&lt;/p&gt;
&lt;h1 id="xiongzhang-support"&gt;Xiongzhang Support&lt;/h1&gt;
&lt;p&gt;Change the content in &lt;code&gt;package.json&lt;/code&gt; to:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; &amp;#34;hexo-baidu-url-submit&amp;#34;: &amp;#34;https://github.com/Num142857/hexo-baidu-url-submit&amp;#34;,
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="baidu_url_submit-configuration"&gt;baidu_url_submit Configuration&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;baidu_url_submit:
 count: 1000 ## Submit the latest link
 host: time-friend.com ## Domain registered on Baidu Webmaster Platform
 token: xxxxx ## Note: this is your secret key, so please don&amp;#39;t publish blog source code in public repositories!
 path: baidu_urls.txt ## Text file address, new links will be saved in this text file
 xz_appid: &amp;#39;xxxxxx&amp;#39; ## Your Xiongzhang appid
 xz_token: &amp;#39;xxxxxx&amp;#39; ## Your Xiongzhang token
 xz_count: 10 ## Select the latest 10 items from all submitted data, this number depends on your Xiongzhang account
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="deploy-configuration"&gt;Deploy Configuration&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;deploy:
- type: baidu_url_submitter # Baidu
- type: baidu_xz_url_submitter # Baidu Xiongzhang
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Hexo SEO Optimization (Search Engine Optimization)</title><link>https://time-friend.com/en/archive/hexo-seo-optimization/</link><pubDate>Tue, 19 Jan 2016 21:32:05 +0000</pubDate><guid>https://time-friend.com/en/archive/hexo-seo-optimization/</guid><description>&lt;p&gt;Today let&amp;rsquo;s talk about hexo&amp;rsquo;s SEO, specifically some search engine optimization for Baidu and Google.&lt;/p&gt;
&lt;h2 id="sitemap"&gt;Sitemap&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Install sitemap plugin&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install hexo-generator-sitemap --save
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install hexo-generator-baidu-sitemap --save
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="2"&gt;
&lt;li&gt;Add the following configuration in &lt;code&gt;_config.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sitemap:
 path: sitemap.xml
baidusitemap:
 path: baidusitemap.xml
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Generate sitemap&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;hexo clean
hexo g
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="baidu-active-push"&gt;Baidu Active Push&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Install plugin&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;npm install hexo-baidu-url-submit --save
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Plugin configuration in &lt;code&gt;_config.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;baidu_url_submit:
 count: 10 # Number of latest links to submit
 host: time-friend.com # Domain registered on Baidu Webmaster Platform, although the official recommendation includes www, it can be without.
 token: your_token ## Note: this is your secret key, please don&amp;#39;t publish it in public repositories!
 path: baidu_urls.txt # Text file address, new links will be saved in this text file
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Deploy configuration in &lt;code&gt;_config.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;deploy:
- type: git # Deploy type
 repository: xxxxx # Repository
 branch: master 
- type: baidu_url_submitter # Add this line
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="4"&gt;
&lt;li&gt;Push and deploy&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;hexo clean
hexo g
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>