Hexo Generate Wrong Permalinks Date
After Deploy Hexo From
Private Repository to GitHub Pages, we encounter many issues: GitHub Checkout Action
Preserve File Modification Time, and now some posts' permalinks date
may shift one day. For instance, assume the original markdown date is
2020-07-13 00:50:05, the generated permalinks date becomes
2020/07/12. Since the permalinks changed, search engines
will regard these posts are not found which impact the SEO
Cosidering that the issue doesn't happen for all posts but for posts that wrote between 0-8am, it's likely that the root cause is timezone setting.
Read the official document # Permalinks but found no clue. Then we found related discussion .
Root cause: the time zone of
_config.yml and the
timezone setting of the machine are inconsistent.
I tried two solutions:
timezone: Asia/Shanghai. However, all the posts' createtime and modification time are shifts for 8 hours. It doesn't work.
- Set the GitHub Actions machine's timezone the same as the
_config.ymltimezone setting. It works!
The latter is the best solution, suggest to keep the deploy machine's configuration exactly the same as your local machine.
Add a new step
Set Timezone after
Restore Timestamps in
set timezone and output:
- name: Restore Timestamps uses: chetan/git-restore-mtime-action@v1 - name: Set Timezone run: | sudo timedatectl set-timezone Asia/Shanghai timedatectl - name: Prepare Node env uses: actions/setup-node@v3 with:
Now it works!