Catalog / lixinmo.com
64

SEO audit for lixinmo.com

Li Xinmo - Chinese artist

other

Health 64/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Li Xinmo

Screenshot of lixinmo.com
50
pages crawled
48
indexable pages
3
errors
249
warnings
837
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 98 1 0 0
Sitemap 98 1 0 2
Titles 98 1 0 66
Agent Readiness 71 0 48 91
Canonical 71 0 48 0
Performance 71 0 48 192
Meta Description 72 0 46 2
Images 77 0 39 48
Duplicate 88 0 20 2
Cache 100 0 0 48
Content 100 0 0 93
Headings 100 0 0 3
Links 100 0 0 48
Security 100 0 0 97
Social 100 0 0 96
Structured Data 100 0 0 48
URL 100 0 0 1
Findings

Errors (3 rules)

error Non-200 URL listed in sitemap

Rule sitemap.not_200 · Sitemap · 1 occurrence(s)

error Client error (4xx) response

Rule status.4xx · Crawlability · 1 occurrence(s)

error Missing or empty <title>

Rule title.missing · Titles · 1 occurrence(s)

Warnings (9 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 48 occurrence(s)

warning Duplicate page content

Rule duplicate.content · Duplicate · 2 occurrence(s)

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 15 occurrence(s)

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://lixinmo.com/ — https://www.lixinmo.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 2 occurrence(s)

warning Images missing alt text

Rule images.missing_alt · Images · 39 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 48 occurrence(s)

Notices (24 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 45 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

  • https://lixinmo.com/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 45 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 48 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 45 occurrence(s)

  • https://lixinmo.com/ — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/about-li-xinmo.html — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/articles/my-time-with-mary-bauermeister.html — this page reads as difficult (Flesch Reading Ease 40, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/books.html — this page reads as very difficult (Flesch Reading Ease 1, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/books/contemporary-queer-chinese-art.html — this page reads as very difficult (Flesch Reading Ease 6, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/contact.html — this page reads as very difficult (Flesch Reading Ease 12, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/index.html — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/a-love-poem-written-in-water.html — this page reads as very difficult (Flesch Reading Ease 17, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/antigone.html — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/black-snow.html — this page reads as difficult (Flesch Reading Ease 34, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/drink-blue.html — this page reads as difficult (Flesch Reading Ease 34, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/expensive-evidence-dust.html — this page reads as very difficult (Flesch Reading Ease 17, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/farewell-ceremony.html — this page reads as very difficult (Flesch Reading Ease 19, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/human-shaped-prison.html — this page reads as very difficult (Flesch Reading Ease 20, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/isolation.html — this page reads as very difficult (Flesch Reading Ease 22, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/landscape-painting-painted-in-water.html — this page reads as very difficult (Flesch Reading Ease 13, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/leda-in-the-water.html — this page reads as difficult (Flesch Reading Ease 37, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/maxim.html — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/medea.html — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/oizys.html — this page reads as very difficult (Flesch Reading Ease 22, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/prometheus.html — this page reads as difficult (Flesch Reading Ease 34, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/the-death-of-the-xinkai-river.html — this page reads as very difficult (Flesch Reading Ease 21, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/the-golden-age.html — this page reads as difficult (Flesch Reading Ease 39, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/the-iron-age.html — this page reads as difficult (Flesch Reading Ease 37, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://lixinmo.com/works/performance/themis.html — this page reads as difficult (Flesch Reading Ease 35, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 2 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 3 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 48 occurrence(s)

  • https://lixinmo.com/ — the likely hero/LCP image (intro.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/about-li-xinmo.html — the likely hero/LCP image (lixinmo.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/articles/my-time-with-mary-bauermeister.html — the likely hero/LCP image (169_header.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/books.html — the likely hero/LCP image (51_header.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/books/contemporary-queer-chinese-art.html — the likely hero/LCP image (186_header.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/contact.html — the likely hero/LCP image (li-xinmo_peace_08_art-performance_photo_by_roland-von-der-emden_2023.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/index.html — the likely hero/LCP image (intro.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/a-love-poem-written-in-water.html — the likely hero/LCP image (li-xinmo_a-love-poem-written-in-water_07_art-performance_2010.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/antigone.html — the likely hero/LCP image (li-xinmo_antigone_14_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/drink-blue.html — the likely hero/LCP image (li-xinmo_drink-blue_31_art-performance_2018-photo_by_lilly.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/farewell-ceremony.html — the likely hero/LCP image (li-xinmo_a-farewell-ritual_05_art-performance_2008.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/isolation.html — the likely hero/LCP image (li-xinmo_isolation_08_art-performance_photo_by_roland-von-der-emden_2015.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/landscape-painting-painted-in-water.html — the likely hero/LCP image (li_xinmo-landscape_painting_painted_in_water-03_art-performance_2011.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/leda-in-the-water.html — the likely hero/LCP image (li-xinmo_leda_in_the_water_14_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/maxim.html — the likely hero/LCP image (li-xinmo_maxim_12_art-performance_2018.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/medea.html — the likely hero/LCP image (li-xinmo_medea_01_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/oizys.html — the likely hero/LCP image (li-xinmo_oizys_15_art-performance_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/prometheus.html — the likely hero/LCP image (li-xinmo_prometheus_06_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/the-death-of-the-xinkai-river.html — the likely hero/LCP image (li-xinmo_the_death_of_the_xinkai_river_14_art-performance_2008.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/the-golden-age.html — the likely hero/LCP image (li-xinmo_the_age_of_gold_04_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/the-iron-age.html — the likely hero/LCP image (li-xinmo_the_age_of_black_iron_19_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/works/performance/themis.html — the likely hero/LCP image (lxy_moma_li_xinmo_performance_05_chengdu_05-10-2022_dsc_0567_photo_by_roland-von-der-emden.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/zh/articles/my-time-with-mary-bauermeister.html — the likely hero/LCP image (169_header.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/zh/index.html — the likely hero/LCP image (intro.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://lixinmo.com/zh/works/performance/the-golden-age.html — the likely hero/LCP image (li-xinmo_the_age_of_gold_04_art-performance_photo_by_roland-von-der-emden_2022.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 48 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 48 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 48 occurrence(s)

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 2 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 48 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 48 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 48 occurrence(s)

  • https://lixinmo.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/about-li-xinmo.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/articles/my-time-with-mary-bauermeister.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/books.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/books/contemporary-queer-chinese-art.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/contact.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/index.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/a-love-poem-written-in-water.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/antigone.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/drink-blue.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/farewell-ceremony.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/isolation.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/landscape-painting-painted-in-water.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/leda-in-the-water.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/maxim.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/medea.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/oizys.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/prometheus.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/the-death-of-the-xinkai-river.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/the-golden-age.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/the-iron-age.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/works/performance/themis.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/zh/articles/my-time-with-mary-bauermeister.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/zh/index.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://lixinmo.com/zh/works/performance/the-golden-age.html — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 48 occurrence(s)

  • https://lixinmo.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/about-li-xinmo.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/articles/my-time-with-mary-bauermeister.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/books.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/books/contemporary-queer-chinese-art.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/contact.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/index.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/a-love-poem-written-in-water.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/antigone.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/drink-blue.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/farewell-ceremony.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/isolation.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/landscape-painting-painted-in-water.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/leda-in-the-water.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/maxim.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/medea.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/oizys.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/prometheus.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/the-death-of-the-xinkai-river.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/the-golden-age.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/the-iron-age.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/works/performance/themis.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/zh/articles/my-time-with-mary-bauermeister.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/zh/index.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://lixinmo.com/zh/works/performance/the-golden-age.html — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Missing recommended security headers

Rule security.missing_headers · Security · 49 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 48 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 2 occurrence(s)

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 41 occurrence(s)

notice Title is very short

Rule title.too_short · Titles · 25 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://lixinmo.com/index.html
Li Xinmo - Chinese artist
200 yes 1270 47
https://lixinmo.com/articles/my-time-with-mary-bauermeister.html
My Time with Mary Bauermeister
200 yes 1975 47
https://lixinmo.com/works/performance/the-golden-age.html
The Golden Age
200 yes 1620 47
https://lixinmo.com/about-li-xinmo.html
About Li Xinmo
200 yes 2977 46
https://lixinmo.com/books/contemporary-queer-chinese-art.html
Contemporary Queer Chinese Art
200 yes 1030 46
https://lixinmo.com/contact.html
Contact
200 yes 492 46
https://lixinmo.com/works/performance/a-love-poem-written-in-water.html
A Love Poem Written in Water
200 yes 1016 46
https://lixinmo.com/works/performance/antigone.html
Antigone
200 yes 1768 46
https://lixinmo.com/works/performance/black-snow.html
Black Snow
200 yes 1388 46
https://lixinmo.com/works/performance/circumference-rate.html
Circumference Rate
200 yes 1088 46
https://lixinmo.com/works/performance/drink-blue.html
Drink Blue
200 yes 1320 46
https://lixinmo.com/works/performance/expensive-evidence-dust.html
Expensive Evidence – Dust
200 yes 1118 46
https://lixinmo.com/works/performance/farewell-ceremony.html
Farewell Ceremony
200 yes 1071 46
https://lixinmo.com/works/performance/forbidden-land.html
Forbidden Land
200 yes 947 46
https://lixinmo.com/works/performance/forgotten-home.html
Forgotten Home
200 yes 1147 46
https://lixinmo.com/works/performance/human-shaped-prison.html
Human-shaped Prison
200 yes 989 46
https://lixinmo.com/works/performance/isolation.html
Isolation
200 yes 1015 46
https://lixinmo.com/works/performance/landscape-painting-painted-in-water.html
Landscape Painting Painted in Water
200 yes 1014 46
https://lixinmo.com/works/performance/leda-in-the-water.html
Leda in the Water
200 yes 1526 46
https://lixinmo.com/works/performance/love-is-more-thicker-than-forget.html
Love is more Thicker than Forget
200 yes 1060 46
https://lixinmo.com/works/performance/maxim.html
Maxim
200 yes 1258 46
https://lixinmo.com/works/performance/medea.html
Medea
200 yes 1614 46
https://lixinmo.com/works/performance/memory.html
Memory
200 yes 966 46
https://lixinmo.com/works/performance/nowhere-to-say-goodbye.html
Nowhere to Say Goodbye
200 yes 1057 46
https://lixinmo.com/works/performance/oizys.html
Oizys
200 yes 1191 46
https://lixinmo.com/works/performance/pomegranate.html
Pomegranate
200 yes 1053 46
https://lixinmo.com/works/performance/prometheus.html
Prometheus
200 yes 1400 46
https://lixinmo.com/works/performance/relation-series-no1-distance.html
Relation Series No.1: Distance
200 yes 1076 46
https://lixinmo.com/works/performance/relation-series-no2not-at-the-scene.html
Relation Series No.2:not at the Scene
200 yes 1035 46
https://lixinmo.com/works/performance/relation-series-no3-bed.html
Relation Series No.3 Bed
200 yes 1127 46
https://lixinmo.com/works/performance/rewriting-one-hundred-years-of-solitude.html
Rewriting one Hundred Years of Solitude
200 yes 1071 46
https://lixinmo.com/works/performance/rinsing.html
Rinsing
200 yes 1071 46
https://lixinmo.com/works/performance/scissors-and-roses.html
Scissors and Roses
200 yes 1045 46
https://lixinmo.com/works/performance/scripture-writing-woman.html
Scripture Writing - Woman
200 yes 1054 46
https://lixinmo.com/works/performance/seven-days.html
Seven Days
200 yes 980 46
https://lixinmo.com/works/performance/snow-bed-no1.html
Snow Bed No.1
200 yes 1346 46
https://lixinmo.com/works/performance/snowbedno2.html
Snowbedno.2
200 yes 1064 46
https://lixinmo.com/works/performance/talent-rice-oil-and-salt.html
Talent, Rice, Oil and Salt
200 yes 967 46
https://lixinmo.com/works/performance/tea-ceremony.html
Tea Ceremony
200 yes 1238 46
https://lixinmo.com/works/performance/the-death-of-the-xinkai-river.html
The Death of the Xinkai River
200 yes 1081 46
https://lixinmo.com/works/performance/the-iron-age.html
The Iron Age
200 yes 1417 46
https://lixinmo.com/works/performance/themis.html
Themis
200 yes 1461 46
https://lixinmo.com/works/performance/thick-fog.html
Thick Fog
200 yes 1004 46
https://lixinmo.com/zh/index.html 200 yes 326 6
https://lixinmo.com/zh/articles/my-time-with-mary-bauermeister.html
我和玛丽·包麦斯特(mary Bauermeister)
200 yes 375 4
https://lixinmo.com/zh/works/performance/the-golden-age.html
黄金时代
200 yes 357 4
https://lixinmo.com/books.html
Books
200 yes 878 1
https://lixinmo.com/
Li Xinmo - Chinese artist
200 yes 1270 0
https://lixinmo.com/about-lixinmo.html
Li Xinmo - Chinese artist
404 no 461 0
https://lixinmo.com/media/bild/gross/3/s3/the-age-of-gold/li-xinmo-the-age-of-gold-03-art-performance-photo-by-roland-von-der-emden-2022.jpg 200 no 0 2

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →