Good afternoon, please tell me what the problem is, I created SEO for my React site using React Helmet, so when I log in to the browser or Devtools, , I see, but if I share a link or check meta tags through services for checking meta tags, then I only see meta tags set in index.js . I've seen a couple of similar problems with other users of the react-helmet library before, what's the problem?
Crawlers do not see my meta tags created by React Helmet
94 Views Asked by a55le At
1
There are 1 best solutions below
Related Questions in REACTJS
- ussd reader in Recket Native module
- Teams tab application returns SSO error in mobile Outlook
- Github Pages Deployment deploys a blank page
- Is there any way to glow this bulb image like a real light bulb
- Optimize LCP ReactJs
- Page in React only renders elements after refreshing
- Unable to Post Form Data to MongoDB because of picturepath
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- Hooks are not supported inside an async component error in nextjs project using useQuery
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- On the server side, it returns undefined but on the client side, logs the values no problem
- Multilevel dropdown with checkboxes in Select component
- TypeScript Error only on big type only when assigned to a variable
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Data is not filtering in props. Showing passdata.map is not a function
Related Questions in REACT-HELMET
- Is it possible to change meta tags dynamically while page is loading
- Bing Search not getting my Title & Description tags in the search results using React JS (data-rh="true")
- side effect in the form of a black screen when switching video tag video
- Crawlers do not see my meta tags created by React Helmet
- Meta Tag in ReactJS 18 with react-helmet : How Google handle dynamic Meta Tag in CSR
- How can I render a custom component in `head` with React Helmet?
- How to set dynamic og meta tags?
- Handling Content Security Policy (CSP) for React App, (styleSrc, scriptSrc - eval)
- react-helmet duplicated tags
- How to set dynamic meta tag in react js?
- Is react-helmet-async enough for SEO?
- How to add Google Tag Manager data to React code
- Title and Meta Description in not changing in page source with React-Helmet-Async
- How can I set the title of my page with react-helmet-async to a value fetched from an API?
- React JS and API express Server (MERN) regarding the Metadata that pass for the Social Media get nothing after build for Production
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is because you are using react without a framework, on its own React is SPA (single page application) and does client-side rendering. So when crawlers visit the page THEY DO NOT LOAD JAVASCRIPT INITIALLY - Crawlers first run through what is rendered and then if there is time they will attempt to load js. (but if it takes longer than a second or so they will stop crawling and you'll get a bad first paint score as well which highly affects seo ranking)
If you are just using react by itself then it will always just crawl index and potentially will slowly be able to get the other pages but this will also give your site a bad score because it takes longer to load and crawl
SOLUTION:
use SSR (server side rendering) such as next.js....this will completely solve your issueand is recommended by official React documentation because now when bots crawl everything will be pre-rendered allowing them to traverse pages without running javascript..
This is one of the reasons why react docs say that they are no longer supporting npx create-react-app(which creates an app without a framework) and tell you to use a framework like nextjs, gatsby etc...see documentation here: https://react.dev/learn/start-a-new-react-project
plus with frameworks like nextjs you no longer need to use helmet etc and can simply add a
_document.jsfile to the specific page folderNext.js _document.js example:
IMPORTANT NOTE IF USING A TUTORIAL:
If you are following a tutorial that uses npx create-react-app then scrap your code and look for an up-to-date tutorial. (in regard to next make sure you are only following things that use next 13+...14+ is best but 13 is okay)