rusackas commented on PR #37404:
URL: https://github.com/apache/superset/pull/37404#issuecomment-3857324033
## PR Rebased and Review Feedback Addressed
### Rebase
Successfully rebased on master and resolved merge conflict in
`docusaurus.config.ts` (the robots-txt-plugin placement).
### Review Feedback Addressed
**Bito suggestion - FAQSchema empty array guard:**
> "The component should not render JSON-LD when faqs is empty, as FAQPage
schema requires a non-empty mainEntity array per schema.org specs."
✅ **Fixed** - Added early return for empty/undefined faqs array:
```tsx
if (!faqs || faqs.length === 0) {
return null;
}
```
**Previously addressed (in earlier commits):**
- ✅ Dead code removal (`keywordsStr`, `proficiencyStr` variables)
- ✅ Input validation for `keywords` frontmatter using `Array.isArray()`
- ✅ JSX import type for React components
### Summary of PR
This PR adds comprehensive SEO improvements to the documentation site:
| Feature | Purpose |
|---------|---------|
| `robots.txt` plugin | Auto-generated with sitemap declaration |
| OpenGraph/Twitter tags | Social sharing cards with 1200x630 image |
| FAQPage schema | Rich snippets for FAQ page |
| TechArticle schema | Auto-injected for docs with title/description |
| WebSite schema | SearchAction for Google sitelinks search box |
| SoftwareApplication schema | Organization and product structured data |
| Sitemap priorities | Custom priorities (1.0 for intro, 0.9 quickstart,
etc.) |
| Preconnect hints | Faster loading for Algolia and Apache analytics |
All changes are invisible to users - they only affect search engines and
social platform link previews.
### Ready for Review
The PR is now rebased, passes all checks, and review feedback has been
addressed. Ready for human review!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]