diff --git a/website/docs/.vitepress/sidebarConfig.ts b/website/docs/.vitepress/sidebarConfig.ts
index a5f9562fe8..479fea6a95 100644
--- a/website/docs/.vitepress/sidebarConfig.ts
+++ b/website/docs/.vitepress/sidebarConfig.ts
@@ -114,34 +114,122 @@ export const sideBarConfig: SidebarConfig = [
collapsed: true,
items: [
{
- link: '/content/capitalization/capitalization',
- activeMatch: '/content/capitalization/',
- text: 'Capitalization',
+ link: '/content/content-principles/content-principles',
+ activeMatch: '/content/content-principles/',
+ text: 'Content principles',
},
{
- link: '/content/date-format/date-format',
- activeMatch: '/content/date-format/',
- text: 'Date format',
- },
- {
- link: '/content/file-extensions/file-extensions',
- activeMatch: '/content/file-extensions/',
- text: 'File extensions',
+ text: 'Style & grammar',
+ collapsed: true,
+ items: [
+ {
+ link: '/content/voice-and-style/voice-and-style',
+ activeMatch: '/content/voice-and-style/',
+ text: 'Voice and style',
+ },
+ {
+ link: '/content/grammar/grammar',
+ activeMatch: '/content/grammar/',
+ text: 'Grammar',
+ },
+ {
+ link: '/content/capitalization/capitalization',
+ activeMatch: '/content/capitalization/',
+ text: 'Capitalization',
+ },
+ {
+ link: '/content/date-format/date-format',
+ activeMatch: '/content/date-format/',
+ text: 'Date format',
+ },
+ {
+ link: '/content/file-extensions/file-extensions',
+ activeMatch: '/content/file-extensions/',
+ text: 'File extensions',
+ },
+ {
+ link: '/content/numbers/numbers',
+ activeMatch: '/content/numbers/',
+ text: 'Numbers',
+ },
+ {
+ link: '/content/punctuation/punctuation',
+ activeMatch: '/content/punctuation/',
+ text: 'Punctuation and special symbols',
+ },
+ {
+ link: '/content/units-of-measurement/units-of-measurement',
+ activeMatch: '/content/units-of-measurement/',
+ text: 'Units of measurement',
+ },
+ ],
},
{
- link: '/content/numbers/numbers',
- activeMatch: '/content/numbers/',
- text: 'Numbers',
+ text: 'UX patterns',
+ collapsed: true,
+ items: [
+ {
+ link: '/content/onboarding/onboarding',
+ activeMatch: '/content/onboarding/',
+ text: 'Onboarding',
+ },
+ {
+ link: '/content/pricing-and-sales/pricing-and-sales',
+ activeMatch: '/content/pricing-and-sales/',
+ text: 'Pricing and sales',
+ },
+ {
+ link: '/content/feedback/feedback',
+ activeMatch: '/content/feedback/',
+ text: 'Feedback',
+ },
+ {
+ link: '/content/system-states/system-states',
+ activeMatch: '/content/system-states/',
+ text: 'System states',
+ },
+ {
+ link: '/content/warnings/warnings',
+ activeMatch: '/content/warnings/',
+ text: 'Warnings',
+ },
+ {
+ link: '/content/errors/errors',
+ activeMatch: '/content/errors/',
+ text: 'Errors',
+ },
+ {
+ link: '/content/lists/lists',
+ activeMatch: '/content/lists/',
+ text: 'Lists',
+ },
+ {
+ link: '/content/modals/modals',
+ activeMatch: '/content/modals/',
+ text: 'Modals',
+ },
+ ],
},
{
- link: '/content/punctuation/punctuation',
- activeMatch: '/content/punctuation/',
- text: 'Punctuation and special symbols',
+ text: 'UI elements',
+ collapsed: true,
+ items: [
+ {
+ link: '/content/placeholders/placeholders',
+ activeMatch: '/content/placeholders/',
+ text: 'Placeholders',
+ },
+ {
+ link: '/content/buttons/buttons',
+ activeMatch: '/content/buttons/',
+ text: 'Buttons',
+ },
+ ],
},
{
- link: '/content/units-of-measurement/units-of-measurement',
- activeMatch: '/content/units-of-measurement/',
- text: 'Units of measurement',
+ link: '/content/glossary/glossary',
+ activeMatch: '/content/glossary/',
+ text: 'Glossary',
},
],
},
diff --git a/website/docs/.vitepress/theme/DosDonts.vue b/website/docs/.vitepress/theme/DosDonts.vue
index f09e006e5c..8665b82f83 100644
--- a/website/docs/.vitepress/theme/DosDonts.vue
+++ b/website/docs/.vitepress/theme/DosDonts.vue
@@ -2,8 +2,8 @@
- | Don’t |
- Do |
+ Don’t |
+ Do |
@@ -20,62 +20,83 @@
\ No newline at end of file
+
diff --git a/website/docs/.vitepress/theme/DosDontsCopy.vue b/website/docs/.vitepress/theme/DosDontsCopy.vue
new file mode 100644
index 0000000000..dfd4ed5d92
--- /dev/null
+++ b/website/docs/.vitepress/theme/DosDontsCopy.vue
@@ -0,0 +1,141 @@
+
+
+
+
+ |
+ ✗
+ |
+
+
+ |
+
+ ✓
+ |
+
+
+ |
+
+
+
+
+
+
diff --git a/website/docs/.vitepress/theme/GlossaryTable.vue b/website/docs/.vitepress/theme/GlossaryTable.vue
new file mode 100644
index 0000000000..75b8ddd194
--- /dev/null
+++ b/website/docs/.vitepress/theme/GlossaryTable.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+ |
+ ✗
+ Not this
+ |
+
+ ✓
+ Use this
+ |
+
+
+
+
+ | {{ term.not }} |
+ {{ term.use }} |
+
+
+
+
+
+
diff --git a/website/docs/.vitepress/theme/index.ts b/website/docs/.vitepress/theme/index.ts
index d34494d0db..a0dfc816f7 100644
--- a/website/docs/.vitepress/theme/index.ts
+++ b/website/docs/.vitepress/theme/index.ts
@@ -8,6 +8,8 @@ import { h, onMounted, watch, nextTick } from 'vue';
import DevportalLogo from './DevportalLogo.vue';
import DocFooter from './DocFooter.vue';
import DosDonts from './DosDonts.vue';
+import DosDontsCopy from './DosDontsCopy.vue';
+import GlossaryTable from './GlossaryTable.vue';
import LegacyEmailsView from './LegacyEmailsView.vue';
import Page404 from './Page404.vue';
import PageTopTabs from './PageTopTabs.vue';
@@ -31,6 +33,8 @@ export default {
app.component('LegacyEmailsView', LegacyEmailsView);
app.component('TypesView', TypesView);
app.component('DosDonts', DosDonts);
+ app.component('DosDontsCopy', DosDontsCopy);
+ app.component('GlossaryTable', GlossaryTable);
app.component('Playground', Playground);
},
setup() {
diff --git a/website/docs/.vitepress/theme/style.css b/website/docs/.vitepress/theme/style.css
index ac1a26cc6d..6fcc508883 100644
--- a/website/docs/.vitepress/theme/style.css
+++ b/website/docs/.vitepress/theme/style.css
@@ -1198,3 +1198,4 @@ h6[class] {
.vp-doc li[data-ui-name]+li[data-ui-name] {
margin-top: 2px;
}
+
diff --git a/website/docs/content/buttons/buttons.md b/website/docs/content/buttons/buttons.md
new file mode 100644
index 0000000000..f94b90a6ed
--- /dev/null
+++ b/website/docs/content/buttons/buttons.md
@@ -0,0 +1,51 @@
+---
+title: Buttons
+---
+
+Button labels should feel like the start of a new action — specific, verb-led, and connected to the surrounding context.
+
+## Consider context
+
+- Focus your attention on the expected outcome (What is the user trying to accomplish?)
+- Connect the action with the result (What happens before? What happens after? "Can we say [Update] here, if it was [Renew] on the previous/next step?")
+- Connect the action with the title or other text (What's the context — modal, form, standalone button? Is everything clearly connected?)
+
+## Writing buttons
+
+The button should feel like a start of a new action and kind of a forward motion. Use verbs such as:
+
+- Create / launch / delete / connect / send / view
+- Learn more (use sparingly)
+
+ALWAYS match the button to the title.
+
+
+
+ Title "Explore more keywords for your topic" + button "Start"
+
+
+ Title "Explore more keywords for your topic" + button "Explore keywords"
+
+
+
+- Mostly use verb + noun format (e.g., "Save document" not just "Save"). Always consider context: it can be "Export all data" if there are multiple options to choose from AND "Export data" when it's just one option.
+- Clearly indicate the result of clicking the button.
+- Don't use articles.
+- Use sentence case.
+- Try to keep the text under 3 words.
+- Avoid vague labels like "Submit" or "Click here".
+
+
+
+ Submit (too vague — doesn't indicate what happens next)
+
+
+ Save changes (Edit profile flow — indicates content will be preserved)
+
+
+
+Good example: Create account (Registration flow — clear outcome for the user)
+
+## Corner cases
+
+If the button is passive (Privacy policy, About us, etc.) then it's most likely to be a link. If you absolutely need a button, say "Read privacy policy" or "View terms of service".
diff --git a/website/docs/content/capitalization/capitalization.md b/website/docs/content/capitalization/capitalization.md
index 435efc53cb..3e0522a864 100644
--- a/website/docs/content/capitalization/capitalization.md
+++ b/website/docs/content/capitalization/capitalization.md
@@ -14,23 +14,23 @@ With this type of case, all words are capitalized, except for minor words that a
* Tabs
* Pills
-
+
-
+
-
+
-
+
### Words to capitalize
* Major words: nouns, verbs, adjectives, adverbs, pronouns, and all words of 4 letters or more
@@ -47,7 +47,7 @@ With this type of case, all words are capitalized, except for minor words that a
* “To” in an infinitive
* “Report” and “tool” if they aren't part of the title
-
+
Sign up for Our Newsletter
Award-winning Platform
@@ -64,7 +64,7 @@ With this type of case, all words are capitalized, except for minor words that a
Get Started with Semrush
Organic Positions report
-
+
## Sentence case
With this type of case, most words in a titles or headings are in lowercase. You should capitalize only:
@@ -75,96 +75,96 @@ With this type of case, most words in a titles or headings are in lowercase. You
* Modal window titles
-
+
-
+
* Notice titles
-
+
-
+
* Buttons
-
+
-
+
-
+
-
+
* Field labels
* Checkboxes
-
+
-
+
* Menus
* Dropdown items
-
+
-
+
* Tags
-
+
-
+
-
+
-
+
* Links
-
+
Contact Us
Contact us
-
+
* Bulleted and numbered lists
-
+
-
+
* Filter names (including filters in the report headers)
* Company business units (Marketing department, R&D unit)
diff --git a/website/docs/content/content-principles/content-principles.md b/website/docs/content/content-principles/content-principles.md
new file mode 100644
index 0000000000..383084e838
--- /dev/null
+++ b/website/docs/content/content-principles/content-principles.md
@@ -0,0 +1,336 @@
+---
+title: Content principles
+---
+
+## Use user-centered language
+
+People don't care about your 50th new cool feature. They want their task complete as quickly and easily as possible. All writing must prioritize user goals and comprehension over business jargon or marketing speak.
+
+
+
+ Transaction declined due to insufficient funds.
+
+
+ Your payment failed.
+
+
+
+Eliminate "feature-speak". Always make sure the texts show benefit for the user.
+
+
+
+ Fixing this issue is good for your visibility.
+
+
+ Fixing this issue will allow Google to index your website.
+
+
+
+Cut corporate filler — phrases that exist to sound official rather than communicate something. In the context of web content and quick scanning you don't sound polite, you sound annoying.
+
+
+
+ Please be advised that your subscription is due for renewal.
+
+
+ Your subscription is up for renewal.
+
+
+
+## Write for scannability
+
+People on the internet don't read like they read books. They scan, usually in the F pattern. That's why it's important to:
+
+- Put important information at the front (front-loading).
+- Keep sentences under 20 words when possible. If you need to take a breath to finish reading the sentence out loud — it's a bad sign.
+- Have one idea per sentence, split complex thoughts.
+
+
+
+ Your trial ends in 3 days and if you don't upgrade you will lose access to all your data.
+
+
+ Your trial ends in 3 days. Upgrade to keep your data.
+
+
+
+- Use actionable language. Every button, link, and CTA must clearly indicate what happens when clicked. Never say "Click here".
+
+Good examples: Save draft, Publish article, Delete account.
+
+**Got it** — Exception. Use only for dismissible informational modals where no critical action is taken and the user is simply acknowledging they've read the information.
+
+
+
+ Ok, got it
+ OK/okay
+ Submit
+
+
+ Got it
+
+
+
+- Avoid using "We" in most cases. Focus on the user's experience.
+
+
+
+ We've added a [feature name] to help you with your task.
+
+
+ [Feature name] can help you with your task.
+
+
+
+- Only use "we" in cases when other wording feels unnatural or too wordy.
+
+
+
+ Duplicate folders have been merged to keep your data in one place.
+
+
+ We've merged duplicate folders to keep your data in one place.
+
+
+
+- Avoid "please" unless asking for something optional or inconvenient.
+
+
+
+ Please add keywords to start tracking them.
+
+
+ Please tell us what you think about Position Tracking.
+ Add keywords to start tracking them.
+
+
+
+- Avoid passive voice unless the action is product-side.
+
+
+
+ The report was deleted by the owner.
+
+
+ The report owner deleted the report.
+ The report expired and has been deleted.
+
+
+
+- Naturally connect texts within one UI element — the title, body, and button should form one coherent thought.
+
+
+
+ Modal window: Title "Explore more keywords for your topic" + button "Start"
+
+
+ Modal window: Title "Explore more keywords for your topic" + button "Explore keywords"
+
+
+
+- Cut unnecessary adverbs ("successfully") or those that reflect a writer's opinion ("quickly", "easily").
+- Use parallel structure in lists.
+
+
+
+ 1. Fill in the form
+ 2. Then it should be sent for review.
+
+
+ 1. Fill in the form.
+ 2. Send it for review.
+
+
+
+- DO NOT break semantic blocks. Keep related information together.
+
+
+
+ Enter the confirmation code to delete your account: 4872
+
+
+ To delete your account, enter the confirmation code: 4872
+
+
+
+## Conversational writing
+
+Write in a way a person talks to another person, not a system.
+
+- Use contractions — they reduce formality without reducing clarity. Be mindful of how many contractions you use in a sentence. Too many contractions can make things difficult to read.
+
+
+
+ You are almost done.
+
+
+ You're almost done.
+
+
+
+It's okay to use a full version if you want to highlight an action:
+
+> It will be permanently deleted.
+
+- Read your text aloud. If it sounds unnatural spoken, rewrite it. Passive, overly formal, or instruction-heavy sentences fail this test immediately.
+
+
+
+ Upgrade by clicking the button below.
+
+
+ Upgrade to keep your data.
+
+
+
+- Match the emotional register of the moment. Conversational doesn't mean casual. An error moment calls for calm and direct tone, a success moment can be warmer.
+
+## Plain language
+
+Writing for a 6th-grade reading level on the Flesch-Kincaid readability scale includes more people. Write with short sentences, use simpler nouns, avoid adverbs and adjectives unless they carry real meaning. Use simple verb tenses (past, present, future) and active voice.
+
+::: tip
+You can check readability using [hemingwayapp.com](https://hemingwayapp.com/).
+:::
+
+## Consistency
+
+Within a single tool, tab, window:
+
+- Use the same term for the same concept. Don't create new notions without need.
+- Don't use synonyms for the same actions, e.g. "delete" and "remove".
+- Keep button patterns consistent: all verbs only or all verb+noun.
+
+## Is content the issue?
+
+Copy won't ever make up for poor experience design. Sometimes removing stuff, adding or revising interactions, or leaning on visual design works better.
+
+## Testing
+
+What you wrote will probably make sense to your team. Show it to someone who knows nothing about what you're working on.
+
+## UX design principles
+
+Several UX laws apply directly to text — they're based on how the human brain processes information.
+
+### Cognitive load and Miller's law
+
+The amount of information presented at once should be manageable. Break information into short paragraphs, use headings, and control the number of decisions users are asked to make at once.
+
+### Selective attention
+
+Important info should always be visible and close to a CTA or an input field. No matter how well you describe how something works in a hint text or a tooltip, users will most likely never see it unless they really need to.
+
+### Serial position effect
+
+Placing key information or actions in the beginning or the end will make it more memorable. Never hide the most important thing in the middle of a list, paragraph, or window.
+
+## Localization
+
+If your content will be localized, consider the following:
+
+- Avoid idioms and word play that don't translate well.
+- Avoid colloquial language and slang.
+- Remember about character limits and allow for extra space. English text tends to expand to 30% and more in translation.
+- When adding variables into text, remember that languages have different structures. What looks okay in UI in English can simply not work in another language.
+- Try to use gender-neutral language.
+
+
+
+ Your colleague shared this report with you. Contact him for more information.
+
+
+ This report is owned by another team member. Contact the owner (/them) to request access.
+
+
+
+- (For frontend) Don't break one sentence into several parts: word order in many languages does not match word order in English.
+
+If in doubt, always consult with localization managers.
+
+## Accessibility and inclusivity
+
+### Alt text
+
+Add alt text only if the image brings additional value to the rest of the content. Do not use alt text for purely decorative images (graphics on a landing page, charts or graphs with no real data).
+
+- Describe the image as objectively as possible
+- Provide context to the image
+- Use sentence case
+- Capitalize proper nouns
+
+
+
+ alt="shoe"
+
+
+ alt="Black Converse canvas shoe"
+ alt="Black Converse canvas shoe with white laces on a white background"
+
+
+
+### Age
+
+Avoid ageist terms. When age context is needed, describe it neutrally. See the [Glossary](/content/glossary/glossary).
+
+### Race and ethnicity
+
+Default to the generally accepted descriptors "person of color," "POC," or "BIPOC". See the [Glossary](/content/glossary/glossary).
+
+### Words and phrases to avoid
+
+- Confusing and offensive acronyms (WTF, WTH, KYS, IYKYK, STFU, KMA, FU, FFS)
+- Profanity and curse words
+- Innuendos (sexual-related innuendos, dirty jokes, etc.)
+- Things that can set off a safe-search filter (bomb, knife, gun, sex, etc.)
+
+### Gender and sexuality
+
+- Default to "they/their" and "you/your" for pronouns. Avoid "him/his" or "she/her" — never assume how someone identifies. When in doubt, use their name. If they have pronouns listed publicly, you may use those.
+- Use gender-neutral terms: businessperson over businessman or businesswoman.
+
+### Disabilities and mental health
+
+Some phrases may seem ordinary but can be insensitive. Avoid these as descriptions:
+
+- blind
+- crazy
+- cripple or crippling
+- lame
+
+## Creating terms and definitions
+
+Define a word in simple and familiar terms. A definition should not make the reader look up explanations of other words.
+
+### DO NOT use the same term to define a term
+
+
+
+ Chair — a chair used for sitting, typically found in homes and offices.
+
+
+ Chair — a piece of furniture with four legs and a back, designed for one person to sit on.
+
+
+
+### When referencing another term, use the term itself, not its definition
+
+
+
+ Coffee is a beverage brewed from roasted, ground plant seeds.
+
+
+ Coffee is a beverage brewed from roasted, ground coffee beans*.
*Coffee bean is a seed from the Coffea plant and the source for coffee.
+
+
+
+### A definition of a noun term cannot be a verb
+
+
+
+ Cup — helps you bring tea or coffee to your mouth.
+
+
+ Cup — a small container used to hold liquids.
+
+
diff --git a/website/docs/content/errors/errors.md b/website/docs/content/errors/errors.md
new file mode 100644
index 0000000000..b49345ffd0
--- /dev/null
+++ b/website/docs/content/errors/errors.md
@@ -0,0 +1,113 @@
+---
+title: Errors
+---
+
+How to write calm, blame-free error messages that help users recover quickly.
+
+## Prevent errors
+
+Showing error messages should be a last resort. When you face creating one, ask yourself "Can we prevent this error from happening?" The system should be smart enough to minimize errors in user input or actions. For example, if you expect a particular data format, use an input mask.
+
+## Anatomy of an error message
+
+Regardless of the design component or message length, the most comprehensive error messages include three parts:
+
+1. What happened
+2. The underlying cause (if possible)
+3. How to fix it
+
+### What happened
+
+This should be the first part of the message, like in a headline (if the UI element allows). Be sure to communicate the general outcome of the error. Use plain language and focus on what it means to the user.
+
+
+
+ Operation failed
+
+
+ Couldn't send the invitation
+
+
+
+### The cause
+
+It's helpful to have an explanation of why something happened — it can increase the user's understanding of the issue.
+
+
+
+ Cannot connect to server
+ Something went wrong
+
+
+ No Internet connection
+ You're offline
+
+
+
+### How to fix it
+
+This part tells the user what they can do about it. Offer a step-by-step resolution in the most simple and actionable way. If there's nothing for them to do, then explain what the product is doing. Offer a path forward within the error state itself, such as a "Try again" or "Go back" button. Linking to a help article can be useful, but only if that article is specific and descriptive to the error's use case.
+
+
+
+ Please try again later.
+
+
+ Make sure you have admin rights to access this project.
+
+
+
+## Main principles
+
+### Center the language around user goals, not system constraints
+
+Sometimes it seems like the best way to resolve an error is to explain the constraints of the system to the user. But most users don't care about the constraints of the system — they care about accomplishing their goals. Center the language around what the user is trying to accomplish, why that didn't happen, and how they might resolve the error.
+
+### Use plain language, and avoid jargon
+
+Users may not understand server architecture or client-side queries. Don't use internal product or technical jargon in most cases. However, technical terms are different than jargon. If you're confident that your audience would be readily familiar with technical terms, and if such terms are relevant to the message, you can include them.
+
+### Use positive framing to keep the focus on what users can do
+
+While a user will want to know what went wrong, be as clear as possible about what they can do to fix the error, or provide them with an alternative workaround. Sometimes it's simple ("try again in a few minutes") and sometimes the only solution can be time-intensive or potentially frustrating ("contact your IT administrator"). Avoid putting the focus on the problem, what a user can't do, or what they did incorrectly. Instead, offer context and help people understand what they can do.
+
+### Create error states that are specific to each case whenever possible
+
+It may be tempting to write a catch-all error message to accommodate dozens of similar scenarios, but that will tend to be wordier and less concise. Creating multiple, more specific error messages takes additional effort, but it ultimately creates a better user experience.
+
+### While the error should be specific, use generic language
+
+Generic language allows for better localization, and it also reduces the need to write many different versions of messages for similar use cases. It's usually unnecessary to include specific filenames, usernames, or folders because a user can get that context from elsewhere in the UI.
+
+## Writing the message
+
+**Voltage: low**
+
+Lowest voltage in UI. Always stick to the point — avoid overly formal, technical, or alarming styles. Stay calm and blame-free. Every error should tell the user what to do next, not just what went wrong.
+
+Use "please" and "sorry" only when:
+
+- We are to blame for an error (e.g., maintenance on our servers, technical issues)
+- The user skipped a required field (we prevent them from continuing)
+
+### Critical
+
+
+
+ Attention! You must enter your domain!
+
+
+ Enter a valid website, e.g., example.com
+
+
+
+### Non-critical
+
+
+
+ Don't miss opportunities — finish setting up your account now.
+
+
+ Couldn't create an account, but don't worry — we saved your settings.
+
+
diff --git a/website/docs/content/feedback/feedback.md b/website/docs/content/feedback/feedback.md
new file mode 100644
index 0000000000..3c0ffd6bf4
--- /dev/null
+++ b/website/docs/content/feedback/feedback.md
@@ -0,0 +1,22 @@
+---
+title: Feedback
+---
+
+How to ask users for their opinion without sounding like a survey form.
+
+## Voice
+
+**Voltage: medium**
+
+Move away from formal wording that feels lifeless. Keep it simple and friendly — write like a person, not a system. Avoid survey-speak ("evaluate," "rate your experience") in favor of plain, human phrasing.
+
+
+
+ Please evaluate your experience with EyeOn.
+ Tell us your suggestion or report an issue.
+
+
+ How satisfied are you with EyeOn?
+ Got any ideas or complaints?
+
+
diff --git a/website/docs/content/file-extensions/file-extensions.md b/website/docs/content/file-extensions/file-extensions.md
index 3e13c0fb13..09886c51bf 100644
--- a/website/docs/content/file-extensions/file-extensions.md
+++ b/website/docs/content/file-extensions/file-extensions.md
@@ -8,23 +8,23 @@ Use uppercase and no period in:
* radio buttons
* menu items
-
+
.PDF, .CSS, .HTML
-
+
PDF, CSS, HTML
-
+
-
+
Use lowercase and specify a noun after the extension in **full sentences** in:
* tooltips
* notices
* messages
-
+
Add a DOCX file.
Save your file in the pdf file format.
@@ -33,5 +33,5 @@ Use lowercase and specify a noun after the extension in **full sentences** in:
Add a .docx file.
Save your file in the .pdf file format.
-
+
diff --git a/website/docs/content/glossary/glossary.md b/website/docs/content/glossary/glossary.md
new file mode 100644
index 0000000000..990aecd92f
--- /dev/null
+++ b/website/docs/content/glossary/glossary.md
@@ -0,0 +1,7 @@
+---
+title: Glossary
+---
+
+Preferred terms and what to avoid. Covers inclusive language, American English spelling, and plain language choices.
+
+
diff --git a/website/docs/content/grammar/grammar.md b/website/docs/content/grammar/grammar.md
new file mode 100644
index 0000000000..84a342d1b2
--- /dev/null
+++ b/website/docs/content/grammar/grammar.md
@@ -0,0 +1,233 @@
+---
+title: Grammar
+---
+
+## Tenses
+
+In general, use simple verb tenses: past, present, and future. Use simple future tense to describe the result of an action or instant process that's happening now, or something that will occur in the actual future.
+
+### Why use simple verb tenses
+
+- They use fewer words and are more concise.
+- They can make content easier to scan and faster to read.
+- Simple tenses are easier to understand — more than 20% of U.S. residents speak a language other than English at home.
+- Present tense improves readability scores.
+
+### What's not simple tense
+
+If any of the following comes before the verb in a sentence, it's not simple tense:
+
+- Was/wasn't, were/weren't
+- Has/hasn't, have/haven't
+- Is/isn't, are/aren't
+- Be
+- If the verb in a sentence ends in "-ing"
+
+## Active and passive voice
+
+Use active voice in most cases and use passive voice sparingly.
+
+### Active voice
+
+In an active sentence, it's clear who's doing what. The actor is the subject, and the subject of the sentence is doing something.
+
+
+
+ You were invited to a workspace by John Smith.
+
+
+ John Smith invited you to a workspace.
+
+
+
+### Passive voice
+
+At times, active voice can sound too harshly or keep focus on something that's less important in the context. In these cases, switch to passive voice. This separates the actor from the action to soften a sentence.
+
+
+
+ We declined your payment.
+
+
+ Your payment has been declined.
+
+
+
+### Avoid passive voice by reframing the focus
+
+You can usually reframe a message to focus on the object, or on the actions someone could take, as another way to avoid passive voice.
+
+
+
+ An error was made.
+ We couldn't find any data.
+
+
+ Something went wrong.
+ Nothing found.
+
+
+
+## Spelling
+
+Always use American English (AmE) spelling unless localizing content for specific regions.
+
+- "yse"/"ise" → "yze"/"ize": analyze, not analyse; organize, not organise
+- "our" → "or": color, not colour; humor, not humour
+- double L → single L: traveled, not travelled; canceled, not cancelled
+- "ence" → "ense": defense, not defence
+
+## Pronouns
+
+### Referring to the user
+
+Avoid calling users "users" when talking to them.
+
+### Second person
+
+Most of the time, use second person (you, your, you're) to address users and services.
+
+### First person
+
+Use first person (me, I, my) only in these situations:
+
+- User takes the action in the interface or answers a question they've been asked directly. Imagine you are the user "saying" these lines. Does a CTA feel natural ("Go to my profile" ✓) or not ("Start your free trial" ✗)?
+- When additional sensitivity is necessary, or to indicate privacy.
+- When there's a legal need to use first person to ask for consent.
+
+
+
+ You agree to the terms of service.
+
+
+ I agree to the terms of service.
+
+
+
+Sometimes it's okay to use "we" or "us" to mean "Semrush":
+
+- "We're sorry" (for a critical error)
+- "Help us improve this feature" (requesting feedback)
+
+### Singular they
+
+Usually, we don't need to specify the gender of our users. Do not use "he/she", "(s)he". Use "they" in proper grammatical form (they, them, their, theirs, themselves, themself).
+
+## Numbers
+
+- Use numerals rather than spelling out numbers — except for years.
+
+Good examples: Succeed in SEO in 7 steps. / 2015 was a standout year for the company.
+
+- For numbers above 999, use commas between each set of three digits.
+
+Good examples: 10,000 / 5,999,999
+
+- For decimals, use periods.
+
+Good example: 39.99
+
+- Use the percent symbol (%) rather than spelling out the word "percent." Don't add a space before the character.
+
+Good example: 25%
+
+- Spell out large round numbers. Abbreviate to K, M, and B only when space is extremely limited, like display ads or email subject lines. Always capitalize them. Don't include a space between K, M, or B and the number.
+
+Good examples: 4 thousand / 81 million / 2.5 billion / 90M
+
+- Keep numbers spelled out where it's common usage.
+
+Good example: Connect third-party apps
+
+- For a range of numbers, use the en dash.
+
+Good example: 3–5 days
+
+- For a range with a number sign (#), omit space.
+
+Good example: #4–9
+
+- When a number is used as an adjective, use a hyphen.
+
+Good example: 7-day trial
+
+## Dates and time
+
+### Dates
+
+Writing dates using only numbers causes readability problems across regions. Use words for months.
+
+- Uppercase AM and PM and do not use periods.
+
+Good example: The session will run from 10 AM until 2 PM.
+
+- Do not abbreviate the month in text.
+
+Good example: We saw a large traffic spike in January 2023.
+
+- Do not add ordinals (st, th, nd) to dates.
+
+
+
+ Join us on March 10th, 2025, for our webinar.
+
+
+ Join us on March 10, 2025, for our webinar.
+
+
+
+### Time
+
+- Do not use :00 with whole numbers.
+- For a range of time, use an en dash without spaces. Omit AM/PM on the first time if it matches the last.
+- When translating to 24-hour time, omit AM and PM (e.g., 17:15).
+- Adjust time zone for daylight savings and standard time changes.
+
+Good examples: EST (during standard time) / EDT (during daylight savings time)
+
+- Specify the time zone and use abbreviations after first reference.
+
+Good examples: 11 AM EST (Eastern Standard Time) / After first reference: 12 PM EST
+
+Avoid time zones unless absolutely necessary — dynamically convert to the user's time zone if possible.
+
+### Elapsed time
+
+Just now → 1 sec ago → 5 sec ago → 1 min ago → 5 min ago → 1 hour ago → 5 hours ago → 1 day ago → 5 days ago → This week → Last week → 2 weeks → 1 month ago → 5 months ago → 1 year ago → 5 years ago
+
+### For constrained space
+
+{1}s {1}m {1}h {1}d {1}wk {1}mo {1}yr
+
+## File extensions
+
+Use uppercase and no period in:
+
+- buttons
+- checkboxes
+- radio buttons
+- menu items
+
+
+
+ [Export to .PDF]
+
+
+ [Export to PDF]
+
+
+
+Use lowercase and specify a noun in full sentences in:
+
+- messages
+- notices
+- tooltips
+
+
+
+ Save your file in the pdf file format.
+
+
+ Save your file in the .pdf file format.
+
+
diff --git a/website/docs/content/lists/lists.md b/website/docs/content/lists/lists.md
new file mode 100644
index 0000000000..8c11c44751
--- /dev/null
+++ b/website/docs/content/lists/lists.md
@@ -0,0 +1,24 @@
+---
+title: Lists
+---
+
+Rules for punctuation, capitalization, and structure.
+
+## Rules
+
+- No period in bulleted lists and lists with icons. (But: if there's more than one sentence in a bullet — make all bullets end with periods.)
+- No period in numbered lists.
+- Use sentence case capitalization.
+- Use numbered lists for a sequence of actions.
+- Use parallel structure in lists.
+
+
+
+ 1. Fill in the form
+ 2. Then it should be sent for review.
+
+
+ 1. Fill in the form.
+ 2. Send it for review.
+
+
diff --git a/website/docs/content/modals/modals.md b/website/docs/content/modals/modals.md
new file mode 100644
index 0000000000..1a66935aad
--- /dev/null
+++ b/website/docs/content/modals/modals.md
@@ -0,0 +1,45 @@
+---
+title: Modals
+---
+
+Every modal should read as a single coherent thought — title, body, and button connected into one sentence.
+
+## The rule
+
+Treat a modal window (or any kind of window) as a single "sentence." It makes it easier for you to follow a structure, and easier for everyone else to see patterns and follow them. Every full sentence has a subject (usually a title), a predicate (a button), and everything in between that describes the subject or features of the subject.
+
+## Simple modals
+
+A simple modal is a short "sentence." It only contains a title, a body, and one or several buttons.
+
+- Never start with "Are you sure" — get straight to the point.
+- Don't replace action words or terms with synonyms.
+
+
+
+ Are you sure you want to delete the file?
+
+
+ Delete file?
+
+
+
+
+
+ Delete file? It cannot be restored. [Remove]
+
+
+ Delete file? It cannot be restored. [Delete]
+
+
+
+## Complex windows
+
+Complex windows are longer "sentences." Apply the same rules as for a simple modal, plus use the same wording pattern for the same elements.
+
+Good example:
+
+- (checkbox) Remove competitor mentions
+- (checkbox) Send a copy to the team
+- (switch) AI Summary
+- (switch) Regular update
diff --git a/website/docs/content/numbers/numbers.md b/website/docs/content/numbers/numbers.md
index 8d39faa84c..c912039f89 100644
--- a/website/docs/content/numbers/numbers.md
+++ b/website/docs/content/numbers/numbers.md
@@ -4,7 +4,7 @@ title: Numbers
For numbers with 4 or more digits, use commas between every 3 digits.
-
+
5000
5.999.999
@@ -13,48 +13,48 @@ For numbers with 4 or more digits, use commas between every 3 digits.
5,000
5,999,999
-
+
For decimals, use dots.
-
+
25,74%
25.74%
-
+
For a range of numbers, use the [en dash](../punctuation/punctuation.md#en-dash).
-
+
3-5 days
3–5 days
-
+
For a range with a number sign (#), omit space.
-
+
# 4–6
#4–6
-
+
When a number is used as an adjective, use a [hyphen](../punctuation/punctuation.md#hyphen).
-
+
7 day trial
7-day trial
-
+
diff --git a/website/docs/content/onboarding/onboarding.md b/website/docs/content/onboarding/onboarding.md
new file mode 100644
index 0000000000..d4056d56a4
--- /dev/null
+++ b/website/docs/content/onboarding/onboarding.md
@@ -0,0 +1,45 @@
+---
+title: Onboarding
+---
+
+Writing guidance for welcome flows, setup screens, and what's new announcements.
+
+## Voice
+
+**Voltage: medium-high**
+
+It's appropriate to speak more boldly using a higher voltage. The goal is to create a pleasant anticipation of something new and useful to the user. Keep the tone encouraging but task-focused. Use active verbs with forward momentum — track, launch, explore, connect, map. Avoid "is now available" or "has been added."
+
+When writing an onboarding or what's new message, think about:
+
+- Who are your target users? Are they beginners or advanced?
+- What's their goal?
+- Can they understand what you say? Can they remember everything you say?
+
+## Onboarding example
+
+
+
+ Title: Get the most out of Semrush
+ Body: We've put together a few steps to help you get started with the platform and make the most of its features.
+ Button: [Get started]
+
+
+ Title: Welcome to Semrush
+ Body: Complete a few steps to set up your workspace and start turning data into decisions.
+ Button: [Start setup]
+
+
+
+## What's new example
+
+
+
+ Title: Google Analytics 4 integration is now available
+ Body: You can now connect your GA4 account to Semrush to access your analytics and SEO data.
+
+
+ Title: Your GA4 data in Semrush
+ Body: Connect Google Analytics 4 to see traffic and ranking data side by side.
+
+
diff --git a/website/docs/content/placeholders/placeholders.md b/website/docs/content/placeholders/placeholders.md
new file mode 100644
index 0000000000..2595b22e00
--- /dev/null
+++ b/website/docs/content/placeholders/placeholders.md
@@ -0,0 +1,30 @@
+---
+title: Placeholders
+---
+
+A placeholder's job is to hint, not to instruct.
+
+## Rules
+
+The role of a placeholder is to provide a hint. A good placeholder:
+
+- Complements the label
+- Clarifies what needs to be entered
+- Provides an accurate example
+
+
+
+ Label: Email address
+ Placeholder: Enter email
+
+
+ Label: Email address
+ Placeholder: example@mail.com
+
+
+
+## Usage
+
+- For email and domain placeholders, use example@mail.com and https://example.com.
+- Omit articles in placeholders that act like additional info or short instruction, not full sentences.
+- In rare cases where placeholders include full sentences or more than 1 sentence, use articles.
diff --git a/website/docs/content/pricing-and-sales/pricing-and-sales.md b/website/docs/content/pricing-and-sales/pricing-and-sales.md
new file mode 100644
index 0000000000..4a5678ec16
--- /dev/null
+++ b/website/docs/content/pricing-and-sales/pricing-and-sales.md
@@ -0,0 +1,52 @@
+---
+title: Pricing and sales
+---
+
+How to write for upgrade prompts, limits, and subscription changes.
+
+## Voice
+
+**Voltage: medium-high to medium**
+
+Usually, this type of message prevents users from doing what they do, and they're not happy about it. The goal is to help them see why they need an upgrade. You can apply a higher voltage, but use it cautiously and consider your context. Never say "upgrade to get access to more features" — explain the benefits instead.
+
+## Upsell, limits, downgrade
+
+### Upsell
+
+
+
+ Upgrade to Pro to get access to 100+ integrations.
+
+
+ Upgrade to Pro to analyze data from 100+ sources in one report.
+
+
+
+Good example: Your first 7 days are on us. Then $X/mo.
+
+### Limits
+
+
+
+ You've reached the limit. Upgrade to access more features.
+
+
+ You've run out of [product]. Upgrade to Pro to unlock more keywords, data, and room to grow.
+
+
+
+### Downgrade
+
+
+
+ Your subscription plan has been downgraded
+ 30 out of your 55 projects will be deleted on June 14, 2026. To continue working with them, renew your subscription. Please be aware that after removal your projects cannot be restored.
+ [Upgrade plan]
+
+
+ Your subscription plan has been downgraded
+ Data outside the new limits is unavailable and will be permanently deleted on June 14, 2026. Upgrade your subscription to keep your data.
+ [Upgrade plan]
+
+
diff --git a/website/docs/content/punctuation/punctuation.md b/website/docs/content/punctuation/punctuation.md
index d1a457092e..f2d5c09d2e 100644
--- a/website/docs/content/punctuation/punctuation.md
+++ b/website/docs/content/punctuation/punctuation.md
@@ -13,7 +13,7 @@ title: Punctuation and special symbols
* Use sparingly in sentences in place of a comma or colon
* Omit the spaces on both sides of the dash
-
+
It makes us sound like Semrush — regardless
of who the person behind the communication is.
@@ -22,7 +22,7 @@ title: Punctuation and special symbols
It makes us sound like Semrush—regardless
of who the person behind the communication is.
-
+
### En dash
@@ -34,7 +34,7 @@ title: Punctuation and special symbols
* Use to indicate an empty value in tables
* Omit the spaces on both sides of the dash
-
+
100 – 100
Sep 5 – Oct 4, 2016
@@ -45,7 +45,7 @@ title: Punctuation and special symbols
Sep 5–Oct 4, 2016
Sep 5, 2016–Jan 4, 2017
-
+
### Hyphen
@@ -55,7 +55,7 @@ title: Punctuation and special symbols
Use for telephone numbers and compound modifiers.
-
+
703–555–6593
AI–powered
@@ -64,7 +64,7 @@ Use for telephone numbers and compound modifiers.
703-555-6593
AI-powered
-
+
### Non-breaking hyphen
@@ -74,14 +74,14 @@ Use for telephone numbers and compound modifiers.
Use to prevent unwanted line breaks.
-
+
Metrics like click-
through rate
Metrics like
click‑through rate
-
+
### Soft hyphen
@@ -92,14 +92,14 @@ Use to prevent unwanted line breaks.
* Use to indicate where a hyphenated break is allowed. It’s invisible otherwise
* Useful in scenarios when the same string is displayed in different layouts
-
+
SEO-
friendly
SEO
friendly
-
+
## Non-breaking space
@@ -109,14 +109,14 @@ Use to prevent unwanted line breaks.
Use to keep the words “glued.”
-
+
Click here to
subscribe
Click here
to subscribe
-
+
## Quotation marks and apostrophe
@@ -132,7 +132,7 @@ Use to keep the words “glued.”
* Dashes, semicolons, exclamation points, and question marks go inside the quotation mark only if they relate to the quotation
* Use when quoting UI text, if text formatting isn't available
-
+
"Project name"
Search for “small business websites”.
@@ -145,7 +145,7 @@ Use to keep the words “glued.”
Click “How can you help?”
Enter the My Profile section
-
+
### Apostrophe
@@ -155,14 +155,14 @@ Use to keep the words “glued.”
Use the curly style, just like for the quotation ‘a‘ ’marks
-
+
What's new
What’s new
-
+
## Period
@@ -170,7 +170,7 @@ Use the curly style, just like for the quotation ‘a‘ ’marks
* Include in quotation marks and brackets
* Use with shortened forms of words (mainly in table columns)
-
+
5. If the error persists, contact us
Click the edit button next to “Billing information”.
@@ -183,7 +183,7 @@ Use the curly style, just like for the quotation ‘a‘ ’marks
Position → Pos.
Cookie Policy
-
+
**Omit:**
* in headings
@@ -193,18 +193,18 @@ Use the curly style, just like for the quotation ‘a‘ ’marks
* in tooltips that serve as labels for icons or display the element’s full name
* after URLs
-
+
-
+
Remind later.
Your competitor https://rival.com.
-
+
Remind later
Your competitor https://rival.com
-
+
## Lists
@@ -216,7 +216,7 @@ Use the curly style, just like for the quotation ‘a‘ ’marks
Use numbered lists for a sequence of actions!
:::
-
+
Profile settings.
1. Open the Billing and Account Tab
@@ -225,7 +225,7 @@ Use numbered lists for a sequence of actions!
Profile settings
1. Open the Billing and Account Tab.
-
+
## Special symbols
@@ -238,7 +238,7 @@ Use numbered lists for a sequence of actions!
* Enclose in spaces
* Avoid. If there’s enough space—always use “and”
-
+
Plans&Pricing
Questions & Answers
@@ -247,7 +247,7 @@ Use numbered lists for a sequence of actions!
Plans & Pricing
Questions and Answers
-
+
### Number sign
@@ -257,14 +257,14 @@ Use numbered lists for a sequence of actions!
Omit the space after the sign.
-
+
# 1, # 3–6
#1, #3–6
-
+
### Percent sign
@@ -276,7 +276,7 @@ Omit the space after the sign.
* Omit the space before the percent sign
(**Exception:** German, French, Swedish languages)
-
+
%Traffic
156 %
@@ -285,7 +285,7 @@ Omit the space after the sign.
Traffic %
156%
-
+
### Minus and plus signs
@@ -298,7 +298,7 @@ Omit the space after the sign.
* Use to show changes in metrics
* If you can't use the minus character for some reason, use the en dash
-
+
190 + countries
-45%
@@ -307,7 +307,7 @@ Omit the space after the sign.
190+ countries
−45%
-
+
### Slash
@@ -317,14 +317,14 @@ Omit the space after the sign.
Omit the spaces around the sign.
-
+
24 / 7 competitor tracking
24/7 competitor tracking
-
+
### Multiplication sign
@@ -334,7 +334,7 @@ Omit the spaces around the sign.
Avoid using the “x” letter.
-
+
1080 x. 1920 px
@@ -342,4 +342,4 @@ Avoid using the “x” letter.
1080 × 1920 px
-
+
diff --git a/website/docs/content/system-states/system-states.md b/website/docs/content/system-states/system-states.md
new file mode 100644
index 0000000000..e24ddf0938
--- /dev/null
+++ b/website/docs/content/system-states/system-states.md
@@ -0,0 +1,69 @@
+---
+title: System states
+---
+
+How to write for empty, loading, success, and failed states — each with its own voltage.
+
+## Empty
+
+**Voltage: medium**
+
+An empty state is a great place to nudge users toward a desired action. A simple message like "Nothing here yet" could be a missed opportunity to engage the user.
+
+- In the title, announce the state or say what to do.
+- Say how the action will benefit the user.
+- Don't say anything about any other steps inside the flow or after.
+
+
+
+ Add 10 or more keywords. Then launch your campaign.
+
+
+ Add keywords to start the campaign and track your performance.
+
+
+
+## Loading
+
+**Voltage: medium**
+
+It's quite a flexible state in terms of what you can say. Use the brand voice to make the interaction friendly (for simple actions), exciting or calming (if some major action requires waiting). Remember to stay clear and useful.
+
+
+
+ We're preparing your AI insights for the Brand Profile: adidas.com, Netherlands, Dutch. This may take about 4–5 minutes for the first results to show. While we process your data, explore a sample report.
+
+
+ Come back in 5 minutes — we'll show you insights for: adidas.com, Netherlands, Dutch. In the meantime, take a look at the demo report.
+
+
+
+## Success
+
+**Voltage: medium-high**
+
+You can express some excitement or congratulate the user on a completed action or a milestone. Say what's now available to them or what they can do next. Try not to just state a bland fact, but if you are, use a simple tense and active voice.
+
+
+
+ Your account has been created.
+
+
+ All set — check out your AI visibility account for insights.
+
+
+
+## Failed
+
+**Voltage: low**
+
+A failed state is closely related to an error. You can use most principles of writing an error message when writing a failed state.
+
+
+
+ Something went wrong. Please try again.
+
+
+ Couldn't create an account. Please try again or contact our Support Team.
+
+
diff --git a/website/docs/content/units-of-measurement/units-of-measurement.md b/website/docs/content/units-of-measurement/units-of-measurement.md
index 3d44322567..a19a58d669 100644
--- a/website/docs/content/units-of-measurement/units-of-measurement.md
+++ b/website/docs/content/units-of-measurement/units-of-measurement.md
@@ -7,7 +7,7 @@ title: Units of measurement
* Use “s” for seconds, “m” for minutes, “h” for hours
* Use uppercase for time
-
+
10 K
3 s
@@ -18,4 +18,4 @@ title: Units of measurement
3s
9:45 AM
-
+
diff --git a/website/docs/content/voice-and-style/voice-and-style.md b/website/docs/content/voice-and-style/voice-and-style.md
new file mode 100644
index 0000000000..b307d43ad0
--- /dev/null
+++ b/website/docs/content/voice-and-style/voice-and-style.md
@@ -0,0 +1,319 @@
+---
+title: Voice and style
+---
+
+## Brand voice in product
+
+Master brand voice is a starting point for multiple channels. It can be referenced for high-energy moments in user flows. See the [Brand Voice](https://drive.google.com/drive/folders/15d-wIWEK7qL5fE6ny_ruNJA_Kda9MPDo) and the [style guide](https://drive.google.com/file/d/1azSeVQYlCIPVummxjLE18e1vydBgnHOl/view?usp=drive_link).
+
+The master brand voice is bold and energetic — but it's a starting point, not a fixed register. Just like a person speaks differently depending on the situation, the brand also adjusts how it speaks. User experience has many moments and each should use its own tone: happy and cheerful for celebration or empathetic for something like changes in pricing.
+
+Voice varies depending on a pattern:
+
+| UX pattern | Voice voltage |
+| --- | --- |
+| Onboarding and what's new | Medium-high |
+| Pricing, sales | Medium-high to medium |
+| Feedback | Medium |
+| System states (success, loading, failed) | Medium-high to low |
+| Warnings | Medium-low to low |
+| Errors | Low |
+
+## Capitalization
+
+Use sentence case by default for all elements. It's easier to read and is more natural and approachable.
+
+Only use title case for:
+
+- Page titles (H1)
+- Table titles
+- Graph titles
+- Widget titles
+- Chart legends and axis descriptions
+- Tabs
+- Pills
+
+### Words to capitalize
+
+- Proper nouns
+- First word of a title or subtitle
+- Nouns, verbs, adjectives, adverbs, pronouns
+- First word after a colon or em dash in a heading
+- Second part of hyphenated major words: Award-Winning
+- Second part of phrasal verbs: Sign Up
+
+### Words NOT to capitalize
+
+- Articles: the, a, an
+- Prepositions (under 4 letters): for, with, to, in, on, at
+- Conjunctions: and, or, but
+- "To" in an infinitive
+
+### Semrush product names
+
+Capitalize the full name when referring to a specific Semrush tool. Use lowercase when referring to the functionality generically.
+
+
+
+ Run Site Audit to check for errors.
+
+
+ Run a site audit to check for errors.
+
+
+
+### "Toolkit"
+
+Capitalize "Toolkit" only when it's part of an official product name. Otherwise use lowercase.
+
+
+
+ Site Audit is part of the SEO toolkit. It catches critical errors on your site. There are lots more features in this Toolkit too.
+
+
+ Site Audit is part of the SEO Toolkit. It catches critical errors on your site. There are lots more features in this toolkit too.
+
+
+
+### "Report" and "tool"
+
+Do not capitalize "report" or "tool" unless they are part of an official product name.
+
+
+
+ Organic Positions Report
+
+
+ Organic Positions report
+
+
+
+| Element | Case |
+| --- | --- |
+| Page titles | Title case |
+| Table / graph / widget titles | Title case |
+| Chart legends and axes | Title case |
+| Tabs and pills | Title case |
+| Modal titles | Sentence case |
+| Notice titles | Sentence case |
+| Buttons | Sentence case |
+| Field labels | Sentence case |
+| Checkboxes | Sentence case |
+| Menus and dropdowns | Sentence case |
+| Tags | Sentence case |
+| Links | Sentence case |
+| Lists | Sentence case |
+| Filter names | Sentence case |
+
+## Punctuation and special symbols
+
+### Oxford commas
+
+Always use the Oxford comma, or serial comma, for a series of items.
+
+
+
+ Semrush offers clear pricing, easy setup and actionable dashboards built for marketers who move fast.
+
+
+ Semrush offers clear pricing, easy setup, and actionable dashboards built for marketers who move fast.
+
+
+
+### Periods
+
+If your text is a full sentence, add a period. If it's a short, direct phrase — don't. Also use it with shortened forms of words (mainly in table columns) and include in quotation marks and brackets.
+
+Omit in:
+
+- headings
+- lists (but: if there's more than one sentence in a bullet — make all bullets end with a punctuation mark)
+- placeholders
+- checkboxes
+- lists with bullets and icons
+- tooltips that serve as labels for icons or display the element's full name
+- after URLs (not text links)
+- lines above and below input fields
+- "clean" designs where there are no other elements with periods
+- buttons
+
+
+
+ 5. If the error persists, contact us
+ Click the edit button next to "Billing information".
+ Position → Pos
+ [Cookie Policy.]
+
+
+ 5. If the error persists, contact us.
+ Click the edit button next to "Billing information."
+ Position → Pos.
+ [Cookie Policy]
+
+
+
+### Semicolons
+
+Don't use semicolons (**;**). They add a formal, academic tone and negatively affect user comprehension in UX writing. Use periods, commas, or em dashes instead.
+
+### Colons
+
+Use colons to offset a list or to join two closely related phrases. If a complete sentence follows a colon, capitalize the first word.
+
+Good examples:
+
+- We'll cover three topics: market changes, ecommerce strategy, and AI fundamentals.
+- To rank well, you must follow best practices: Content quality is critical.
+
+### Quotation marks
+
+Only use them when quoting someone's words or referring to a file or asset name. Use curly ("") marks. Don't use quotes when directly referring to interface elements.
+
+
+
+ Search for "small business websites."
+ Switch to the "Overview" tab.
+
+
+ Search for “small business websites.”
+ Switch to the Overview tab.
+
+
+
+### Apostrophe
+
+| Symbol | HTML code | Windows shortcut | MacOS shortcut |
+| --- | --- | --- | --- |
+| ' | `’` | Alt + 0146 | ⌥ ⇧ ] |
+
+Use the curly style, just like for the quotation marks.
+
+
+
+ What's new
+
+
+ What’s new
+
+
+
+### Em dashes
+
+Use sparingly in place of a comma or colon. Include a space before and after the em dash.
+
+
+
+ It makes us sound like Semrush—regardless of who the person behind the communication is.
+
+
+ It makes us sound like Semrush — regardless of who the person behind the communication is.
+
+
+
+### Parentheses
+
+The only acceptable use of parentheses in UI elements is short supplementary information. To decide whether the information is supplementary or primary, read your text without the part in the parentheses. If it loses its original meaning, the information you consider additional is in fact primary and it should not be in parentheses. If the text keeps the meaning you intend — consider removing the parentheses.
+
+
+
+ Upgrade your plan (to track more prompts)
+
+
+ Cmd+C (Mac), Ctrl+C (Win)
+
+
+
+### Ampersand
+
+Avoid. If there's enough space — always use "and". If used, enclose in spaces.
+
+
+
+ Plans&Pricing
+ Questions & Answers
+
+
+ Plans & Pricing
+ Questions and Answers
+
+
+
+### Number sign
+
+Omit the space after the sign.
+
+
+
+ # 1, # 3–6
+
+
+ #1, #3–6
+
+
+
+### Percent sign
+
+In a column name, use at the end of the name preceded by a space. Omit the space before the percent sign (Exception: German, French, Swedish languages).
+
+
+
+ %Traffic
+ 156 %
+
+
+ Traffic %
+ 156%
+
+
+
+### Minus and plus signs
+
+| Symbol | HTML entity |
+| --- | --- |
+| − | `−` |
+| + | `+` |
+
+- Omit the spaces between the sign and a numeric value.
+- Use to show changes in metrics.
+- If you can't use the minus character for some reason, use the en dash.
+
+
+
+ 190 + countries
+ −45%
+
+
+ 190+ countries
+ -45%
+
+
+
+### Slash
+
+Omit the spaces around the sign.
+
+
+
+ 24 / 7 competitor tracking
+
+
+ 24/7 competitor tracking
+
+
+
+### Multiplication sign
+
+Avoid using the "x" letter.
+
+
+
+ 1080 x 1920 px
+
+
+ 1080 × 1920 px
+
+
+
+## Emojis
+
+Don't use emojis in UI. Never replace words with emojis.
diff --git a/website/docs/content/warnings/warnings.md b/website/docs/content/warnings/warnings.md
new file mode 100644
index 0000000000..9883ce7fb1
--- /dev/null
+++ b/website/docs/content/warnings/warnings.md
@@ -0,0 +1,37 @@
+---
+title: Warnings
+---
+
+How to write for critical and non-critical warning states.
+
+## Voice
+
+**Voltage: low / medium-low**
+
+Always stick to the point, speak like an expert, but stay approachable. For critical warnings, always lead with what will happen and when, then give the user a clear path forward. Non-critical warnings don't need urgency. A nudge is enough — acknowledge what changed, and suggest what to do next without pushing.
+
+## Critical
+
+
+
+ Data outside new limits will be deleted soon
+ Your downgraded subscription plan allows you to store less data than you have. Data exceeding the new limits will soon be deleted. You can still save important data and avoid missing critical issues that affect your rankings by upgrading your subscription plan.
+
+
+ Download data before it's deleted
+ Your new subscription plan can store less data than you currently have. Upgrade before June 30 to keep it, or download what matters now.
+
+
+
+## Non-critical
+
+
+
+ Site Health score change
+ Your Site Health score has decreased since your last audit. We recommend reviewing your latest audit report to identify any new issues.
+
+
+ Your Site Health dipped
+ A few new issues appeared since your last site audit. Review your latest report.
+
+
diff --git a/website/docs/index.md b/website/docs/index.md
index ed713b6822..e687d7d0b4 100644
--- a/website/docs/index.md
+++ b/website/docs/index.md
@@ -46,9 +46,9 @@ features:
details: Equip your components with a custom theme
link: /style/design-tokens/design-tokens
linkText: Explore
- - title: Accessibility
- details: Principles and recommendations to help you build interface for all
- link: /core-principles/a11y/a11y
+ - title: Content
+ details: Principles and recommendations to help you write copy for your interface
+ link: /content/content-principles/content-principles
linkText: Explore
titleTemplate: false
---