SEO improvements
This commit is contained in:
		
							parent
							
								
									b629ccf003
								
							
						
					
					
						commit
						453daa9319
					
				
							
								
								
									
										30
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										30
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -2014,6 +2014,16 @@
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "bindings": {
 | 
			
		||||
      "version": "1.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "file-uri-to-path": "1.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "bl": {
 | 
			
		||||
      "version": "2.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
 | 
			
		||||
@ -3411,6 +3421,13 @@
 | 
			
		||||
      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
 | 
			
		||||
      "dev": true
 | 
			
		||||
    },
 | 
			
		||||
    "file-uri-to-path": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "fill-range": {
 | 
			
		||||
      "version": "4.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
 | 
			
		||||
@ -4723,6 +4740,13 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
			
		||||
    },
 | 
			
		||||
    "nan": {
 | 
			
		||||
      "version": "2.14.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
 | 
			
		||||
      "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
 | 
			
		||||
      "dev": true,
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "nanomatch": {
 | 
			
		||||
      "version": "1.2.13",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
 | 
			
		||||
@ -6889,7 +6913,11 @@
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
 | 
			
		||||
          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
 | 
			
		||||
          "dev": true,
 | 
			
		||||
          "optional": true
 | 
			
		||||
          "optional": true,
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "bindings": "^1.5.0",
 | 
			
		||||
            "nan": "^2.12.1"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "glob-parent": {
 | 
			
		||||
          "version": "3.1.0",
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,12 @@
 | 
			
		||||
        // the `slug` parameter is available because
 | 
			
		||||
        // this file is called [slug].svelte
 | 
			
		||||
        const articleRes = await this.fetch(`a/${params.slug}.json`);
 | 
			
		||||
        const article = await articleRes.json();
 | 
			
		||||
        let article = await articleRes.json();
 | 
			
		||||
 | 
			
		||||
        // parse article steps from numbered list
 | 
			
		||||
        article.steps = [...article.html.matchAll(/>\d+\. ([^<]+)</g)]
 | 
			
		||||
                        .map(i => i[1])
 | 
			
		||||
                        .map(i => ({ "@type": "HowToStep", text: i }));
 | 
			
		||||
 | 
			
		||||
        const commentsRes = await this.fetch(`a/${params.slug}/comments`);
 | 
			
		||||
        const comments = await commentsRes.json();
 | 
			
		||||
@ -166,6 +171,37 @@
 | 
			
		||||
 | 
			
		||||
<svelte:head>
 | 
			
		||||
    <title>{article.title} | HOWFEED.BIZ</title>
 | 
			
		||||
    <meta name="author" content={article.author.realname}>
 | 
			
		||||
    {@html `<script type="application/ld+json">{
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "BreadcrumbList",
 | 
			
		||||
      "itemListElement": [{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": 1,
 | 
			
		||||
        "name": "HowFeed.biz",
 | 
			
		||||
        "item": "https://howfeed.biz"
 | 
			
		||||
      },{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": 2,
 | 
			
		||||
        "name": "${article.category.name}",
 | 
			
		||||
        "item": "https://howfeed.biz/c/${article.category.slug}"
 | 
			
		||||
      },{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": 3,
 | 
			
		||||
        "name": "${article.title}",
 | 
			
		||||
        "item": "https://howfeed.biz/a/${article.slug}"
 | 
			
		||||
      }]
 | 
			
		||||
    }</script>`}
 | 
			
		||||
    {@html `<script type="application/ld+json">{
 | 
			
		||||
      "@context": "http://schema.org",
 | 
			
		||||
      "@type": "HowTo",
 | 
			
		||||
      "image": {
 | 
			
		||||
        "@type": "ImageObject",
 | 
			
		||||
        "url": "https://howfeed.biz/a/${article.image}"
 | 
			
		||||
      },
 | 
			
		||||
      "name": ${JSON.stringify(article.title)},
 | 
			
		||||
      "step": ${JSON.stringify(article.steps)}
 | 
			
		||||
    }</script>`}
 | 
			
		||||
</svelte:head>
 | 
			
		||||
 | 
			
		||||
<div class="content">
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,24 @@
 | 
			
		||||
 | 
			
		||||
<svelte:head>
 | 
			
		||||
    <title>{category.name} Articles | HOWFEED.BIZ</title>
 | 
			
		||||
    <meta name="description" content={`Read our articles about ${category.name} on HowFeed.biz.`}>
 | 
			
		||||
    <script type="application/ld+json">{`
 | 
			
		||||
    {
 | 
			
		||||
      "@context": "https://schema.org",
 | 
			
		||||
      "@type": "BreadcrumbList",
 | 
			
		||||
      "itemListElement": [{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": 1,
 | 
			
		||||
        "name": "HowFeed.biz",
 | 
			
		||||
        "item": "https://howfeed.biz"
 | 
			
		||||
      },{
 | 
			
		||||
        "@type": "ListItem",
 | 
			
		||||
        "position": 2,
 | 
			
		||||
        "name": "${article.category.name}",
 | 
			
		||||
        "item": "https://howfeed.biz/c/${article.category.slug}"
 | 
			
		||||
      }]
 | 
			
		||||
    }
 | 
			
		||||
    `}</script>
 | 
			
		||||
</svelte:head>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
 | 
			
		||||
@ -52,6 +52,7 @@
 | 
			
		||||
 | 
			
		||||
<svelte:head>
 | 
			
		||||
    <title>HOWFEED.BIZ</title>
 | 
			
		||||
    <meta name="description" content="HOWFEED.BIZ: Helping you to navigate a modern world.">
 | 
			
		||||
</svelte:head>
 | 
			
		||||
 | 
			
		||||
<div class="background"></div>
 | 
			
		||||
 | 
			
		||||
@ -3,13 +3,12 @@
 | 
			
		||||
<head>
 | 
			
		||||
	<meta charset='utf-8'>
 | 
			
		||||
	<meta name='viewport' content='width=device-width,initial-scale=1.0'>
 | 
			
		||||
    <meta name='description' content='HOWFEED.BIZ: Helping you to navigate a modern world.'>
 | 
			
		||||
    <meta name='keywords' content='news, satire, blog'>
 | 
			
		||||
	<meta name='theme-color' content='#508FC3'>
 | 
			
		||||
    %sapper.base%
 | 
			
		||||
	<link rel='stylesheet' href='global.css'>
 | 
			
		||||
	<link rel='icon' type='image/png' href='favicon.png'>
 | 
			
		||||
              <link href='https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700&display=swap' rel='stylesheet'>
 | 
			
		||||
    <link href='https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700&display=swap' rel='stylesheet'>
 | 
			
		||||
	%sapper.styles%
 | 
			
		||||
	%sapper.head%
 | 
			
		||||
	<!-- Global site tag (gtag.js) - Google Analytics -->
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user