
Security News
Bun 1.2.19 Adds Isolated Installs for Better Monorepo Support
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
@captaincodeman/app-metadata
Advanced tools
Page meta-tags for SEO and social sharing
app-metadata
is a module to help manage page metadata for Search Engine
Optimization (SEO) and social sharing (e.g. Twitter cards, OpenGraph).
It will add and remove <meta>
elements in the page <head>
section based
on the JSON object passed to it. This can update page titles while a use
navigates a Single Page Application (SPA) or Progressive Web App (PWA) or
set the values to be Server-Side Rendered (e.g. using puppeteer).
Any title
key will be used to set the page title. description
,
image
and url
keys will set the og:...
and twitter:...
meta
values and any other key will be used directly.
The name
attribute is used for the <meta>
tag unless the key is for an
OpenGraph value in which case the property
attribute will be set. i.e.
twitter:image
metadata will set
og:image
metadata will set
Import updateMetadata
and call as required:
import { updateMetadata } from 'app-metadata';
updateMetadata({
title: 'This is the page title',
description: 'This is the page description',
keywords: 'these,are,keywords',
image: 'https://www.example.com/myimage.jpg',
})
Alternatively, use addMetadataListener
to register a listener and raise
app-metadata
CustomEvent with the metadata in the event detail:
import { addMetadataListener } from 'app-metadata';
addMetadataListener()
// elsewhere ...
this.dispatchEvent(new CustomEvent({
bubbles: true,
composed: true,
detail: {
title: 'This is the page title',
description: 'This is the page description',
keywords: 'these,are,keywords',
image: 'https://www.example.com/myimage.jpg',
},
}))
To demonstrate this approach does work for SEO I've created a very
simple test site using the polymer-cli
and added some content with the meta html headers set for each view using
this <app-metadata>
element.
Here's the meta data set for the main view:
this.fire('app-metadata', {
title: 'Why use Agile Project Management?',
description: 'How Agile Project Management Methodologies help compared to the old Waterfall approach to Project Management',
keywords: 'scrum, scrum master, agile, training, certification, professional, certified, CSM, PSM'
});
This view has been successfully indexed by Google and appears correctly in the search results:
FAQs
Page meta-tags for SEO and social sharing
The npm package @captaincodeman/app-metadata receives a total of 0 weekly downloads. As such, @captaincodeman/app-metadata popularity was classified as not popular.
We found that @captaincodeman/app-metadata demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
Security News
Popular npm packages like eslint-config-prettier were compromised after a phishing attack stole a maintainer’s token, spreading malicious updates.
Security News
/Research
A phishing attack targeted developers using a typosquatted npm domain (npnjs.com) to steal credentials via fake login pages - watch out for similar scams.