How to Type Hindi in WordPress — Blog Posts and Multilingual Sites
How to write Hindi blog posts in WordPress — editor input, transliteration plugins, multilingual site setup, font configuration, and SEO for Hindi content.
WordPress powers a significant chunk of Hindi-language websites — news portals, literary magazines, personal blogs, government information sites, educational platforms. If you're setting up or contributing to a Hindi WordPress site, there are some things worth getting right from the start. The typing part is actually easy. The configuration — fonts, encoding, SEO, multilingual setup — is where the real decisions are.
I've set up a handful of Hindi WordPress sites and migrated content to them. Here's everything I've learned, starting from the basic "how do I get Hindi text into the editor" all the way to multilingual architecture.
Typing Hindi in the WordPress Editor
Block Editor (Gutenberg)
WordPress's default block editor fully supports Hindi. There's nothing special to configure in WordPress itself — the editor renders whatever Unicode text you give it.
Using system keyboard:- Set up Hindi input on your computer (Windows: Settings → Time & Language → Add Hindi)
- Open the WordPress editor for a post or page
- Click in a Paragraph, Heading, or List block
- Switch to Hindi input (Win + Spacebar on Windows, Ctrl + Spacebar on Mac)
- Type — Hindi text appears in the block
- Switch back to English when needed
- Open transliterate.in in another tab
- Type your content in English phonetically
- Copy the Hindi output
- Paste into the WordPress editor block
Classic Editor
If you're using the Classic Editor plugin, Hindi input works the same way. Switch your system keyboard or paste from a transliteration tool. The TinyMCE editor that powers Classic Editor supports Unicode text natively.
WP Admin Language
You can set the WordPress admin interface itself to Hindi:
- Go to Settings → General
- Under Site Language, select हिन्दी
- Save
This changes all admin menus, buttons, and labels to Hindi. Some plugins may not have Hindi translations, so their settings pages will remain in English.
Fonts for Hindi in WordPress
The default WordPress themes (Twenty Twenty-Four, Twenty Twenty-Three, etc.) use system font stacks that include Devanagari-capable fonts. Hindi text generally renders fine out of the box.
But "fine" and "good" are different things. For a site where Hindi is the primary language, you want a font that's optimized for Devanagari readability.
Recommended Fonts
Noto Sans Devanagari — clean, modern, multiple weights. Available from Google Fonts. My top recommendation for Hindi blog body text. Noto Serif Devanagari — if your site has a traditional or literary aesthetic. Serif fonts are less common for Hindi websites but look elegant for poetry, literary criticism, or long-form essays. Tiro Devanagari Hindi — another serif option from Google Fonts. Beautiful for headings. Poppins — the Devanagari version is available on Google Fonts. Popular in modern web design.Adding Google Fonts to WordPress
Method 1: Theme Customizer — Many themes have a typography section where you can select Google Fonts. Check Appearance → Customize → Typography. Method 2: Plugin — Install the "Fonts Plugin | Google Fonts Typography" plugin. It lets you select any Google Font and apply it to headings, body text, or navigation. Method 3: Manual (via functions.php):function load_hindi_fonts() {
wp_enqueue_style(
'google-fonts-hindi',
'https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;500;700&display=swap',
array(),
null
);
}
add_action('wp_enqueue_scripts', 'load_hindi_fonts');
Then in your CSS:
body {
font-family: 'Noto Sans Devanagari', sans-serif;
}
Font Size for Hindi
Devanagari is denser than Latin text. If your English body text is 16px, Hindi body text at 17-18px will have equivalent readability. Line height should be generous — 1.7 to 1.8 for Hindi body text versus the typical 1.5-1.6 for English.
Hindi URL Slugs
WordPress supports Hindi in URL slugs (post permalinks):
yoursite.com/कंप्यूटर-की-स्पीड-बढ़ाएं/
But I'd recommend against pure Hindi slugs for a few reasons:
- They get URL-encoded in many contexts (turning into long strings of %E0%A4%95... characters)
- Sharing encoded URLs on social media looks ugly and reduces click trust
- Some analytics tools and ad platforms handle encoded URLs poorly
Better approach: Use transliterated English slugs for Hindi posts:
yoursite.com/computer-ki-speed-kaise-badhaye/
This is readable, shareable, and doesn't break any tools. The post content and title remain in Hindi; only the URL uses Roman characters.
Hindi SEO in WordPress
Yoast SEO / Rank Math
Both major SEO plugins work with Hindi content:
- Write your SEO Title in Hindi (or bilingual)
- Write your Meta Description in Hindi
- Set the Focus Keyword — both plugins accept Hindi keywords
- Yoast and Rank Math will analyze readability and keyword usage for Hindi text
Hindi Keywords Research
Research Hindi search terms using:
- Google Keyword Planner — supports Hindi keywords in Devanagari
- Google Search Console — shows actual Hindi queries that lead to your site
- Google Autocomplete — type a Hindi phrase in Google search and see suggestions
- AnswerThePublic — sometimes surfaces Hindi question patterns
Target both Devanagari (कंप्यूटर रिपेयर) and romanized Hindi (computer repair kaise kare) in your content and meta tags.
hreflang Tags
If you have both Hindi and English versions of pages, implement hreflang tags to tell Google which version to show to which audience:
<link rel="alternate" hreflang="hi" href="https://yoursite.com/hi/page/" />
<link rel="alternate" hreflang="en" href="https://yoursite.com/en/page/" />
Multilingual plugins like WPML and Polylang handle this automatically.
Building a Multilingual WordPress Site (Hindi + English)
If your site needs both Hindi and English content, there are several architectural approaches.
Option 1: WPML Plugin
WPML (WordPress Multilingual) is the most established multilingual plugin:
- Install WPML
- Set English as the default language, add Hindi
- For each post, create a Hindi translation
- WPML adds a language switcher to your site
- Each language version gets its own URL: /en/post-slug/ and /hi/post-slug/
Option 2: Polylang (Free)
Polylang is a free alternative:
- Install Polylang
- Add Hindi and English as site languages
- Create posts in each language and link translations together
- Polylang adds a language switcher widget
Option 3: TranslatePress
TranslatePress takes a different approach — instead of creating separate posts, you translate content directly on the frontend:
- Install TranslatePress
- Visit any page on your site
- Click "Translate Page" in the admin bar
- A visual editor lets you click on any text element and add the Hindi translation
- Both versions live in the same post
Option 4: Separate WordPress Installations
For large sites with dedicated Hindi and English editorial teams:
- hi.yoursite.com (Hindi WordPress)
- en.yoursite.com (English WordPress)
- Or yoursite.com/hi/ and yoursite.com/en/ as separate WP installations in subdirectories
More complex to manage but gives complete independence to each language team.
Writing Hindi Blog Posts — Practical Workflow
Here's the workflow I use for Hindi WordPress content:
1. Content Drafting
I don't draft directly in WordPress. Instead:
- Open transliterate.in and Google Docs side by side
- Draft the article structure (headings, key points) in English
- For each section, type the Hindi content phonetically in the transliteration tool
- Copy Hindi text into Google Docs for a running draft
- Review the complete Hindi article in Docs
2. Paste into WordPress
- Open the WordPress editor
- Add Heading blocks for section titles
- Paste Hindi content from Google Docs into Paragraph blocks
- Format as needed — bold, italic, links, lists
3. Images and Media
Alt text for images should be in Hindi if the post is Hindi:
Alt text: कंप्यूटर की मेमोरी बढ़ाने का तरीका
This helps with Hindi image search SEO.
4. SEO Metadata
Fill in the Hindi SEO title, description, and focus keyword using your SEO plugin.
5. Review and Publish
Preview the post to verify Hindi text renders correctly on the theme. Check mobile preview too — Hindi text on narrow screens sometimes has line-breaking issues.
WordPress Theme Considerations for Hindi
RTL Support (Not Needed)
Hindi is a left-to-right (LTR) script, so you don't need RTL theme support. This is a common misconception — RTL is for Arabic, Hebrew, and Urdu. Hindi, Tamil, Bengali, and other Indian scripts are all LTR.
Text Width
Hindi paragraphs need slightly wider content areas than English. If your theme has a max-width of 680px for content (common for reading-optimized themes), Hindi text might feel cramped. Consider increasing to 720-750px, or leave it as-is if the theme already uses responsive width.
Navigation Menus in Hindi
WordPress menus support Hindi text. When creating menu items:
- Appearance → Menus
- Add pages or custom links
- Set the Navigation Label in Hindi: मुख्य पृष्ठ, हमारे बारे में, संपर्क
Test the menu on mobile — Hindi menu items might wrap differently than English ones. Hamburger menus handle Hindi well; horizontal nav bars might need wider spacing.
Common Issues
Hindi Text Displaying as Boxes
Your theme is using a font that doesn't support Devanagari. Add a Devanagari font via CSS or plugin. Nirmala UI and Noto Sans Devanagari are the safest fallbacks.
WordPress Database Encoding
WordPress uses UTF-8 (specifically utf8mb4) by default. If you're migrating from an old WordPress installation that used a different charset, Hindi text might be corrupted. Check your wp-config.php:
define('DB_CHARSET', 'utf8mb4');
If this is set to something else (like 'latin1'), that's the problem. Changing it requires careful database migration — don't just change the value without converting existing data.
Importing Hindi Content from Word or PDF
When pasting Hindi content from Word into the WordPress editor, use Ctrl + Shift + V (paste without formatting) to strip Word's formatting. Word adds hidden markup that can mess up WordPress rendering.
For PDF content, copy text from the PDF and paste into transliterate.in to verify it's proper Unicode, then paste into WordPress.
Search Not Finding Hindi Content
WordPress's built-in search handles Hindi queries. If search isn't returning Hindi results:
- Check that the search form accepts Unicode input (it should by default)
- Consider a search plugin like SearchWP or Relevanssi for better Hindi search results
- Make sure your Hindi content is in searchable fields (title, content, excerpt) and not just in custom fields
Hindi WordPress sites are completely mainstream now. The CMS handles Devanagari text natively, modern themes render it well, and the SEO plugins work with Hindi keywords. The main decisions are: which font to use (Noto Sans Devanagari is the safe bet), whether to go multilingual (Polylang for simple, WPML for complex), and how to handle URL slugs (Roman transliteration recommended). Everything else just works.