Morocco ROI is a content site targeting real estate investment research for Morocco-focused buyers. English and French language search, a niche that looked crowded on the surface but had mostly shallow, outdated content covering it.
Zero paid ads. No social media posting. No email strategy. 10k impressions on Google Search Console in the first 28 days, growing weekly. Here's what actually moved the needle.
Intent first, keywords second
Most SEO content fails because it tries to satisfy multiple search intents on one page. Someone searching "best cities to invest in Morocco 2025" wants a comparison. Someone searching "can foreigners buy property in Morocco" wants a legal answer. These are different people at different stages with different needs.
I built a separate page for each intent. Not a comprehensive guide that touches everything. Dedicated pages, each answering one question completely.
A page that specifically answers "average rental yield Marrakech furnished apartments 2025" will outrank a 5,000-word comprehensive guide that mentions the number in paragraph 14. The specific page is what the searcher actually needs.
Technical foundation
Next.js handles most of this automatically, but I was deliberate about it:
- Sitemap at
/sitemap.xml robots.txtallowing all crawlers- Semantic HTML: one
h1per page, logical heading hierarchy - Every image has a descriptive
altattribute - Page titles under 60 characters, meta descriptions under 155
Core Web Vitals were green before I published anything. A slow page won't rank regardless of how good the content is. Fix the technical baseline first and stop thinking about it.
Structured data is underused
Every article page gets Article schema. Every FAQ section gets FAQ schema. The FAQ schema shows your answers directly in Google results before the user clicks, which builds familiarity with the site over time.
hljs json{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Can foreigners buy property in Morocco?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Foreign nationals can purchase residential and commercial property..."
}
}
]
}
Three lines of JSON-LD per page. Test with Google's Rich Results Test before deploying. It's the highest return-per-hour technical SEO work I know of, and almost nobody does it.
What 10k impressions actually means
10k impressions means Google showed the site to 10k people and most of them didn't click. The click-through rate on page 4 results is around 1-2%. Getting to page 1 for searches that matter is a different, slower project.
But the trajectory is what matters in SEO. A site growing from 0 to 10k impressions in its first month will be at 100k by month six if you keep doing the same things. I don't know many side projects that wouldn't be happy with that.
Don't monetise until you have data
Morocco ROI has no affiliate links in the first version. No ads. The goal of the first 90 days is understanding what searchers actually want when they land on these pages.
Google Search Console shows you the queries you're ranking for. Some of them will surprise you. Someone landing on a page about Marrakech investment yields is also searching for questions about property management and rental law. Those surprises are your roadmap for the next three months of content.
You can't optimise for revenue until you understand your users. You can't understand your users until you have enough of them. Get the users first.
The actual work
Writing content that ranks is mostly research. Find the specific question. Find the specific answer. Write a page that gives that answer better than anything currently ranking for that query. Check the technical baseline. Add structured data. Repeat.
No tools required beyond Search Console, a text editor, and the patience to do it properly for things that feel too small to matter. The small, specific queries add up. That's where the 10k impressions come from.
