January 25, 2026
You want to start a blog for your startup or may be your SaaS side project. You aim to increase your website's ranking for certain keywords using the blogs as SEO content. What is the best strategy to get started on setting up blogs for this ? Should you be using a blogging platform such as Medium or should you setup your own blogging capabilities in your website ? What would be the best URL choice for blogs ? I got drawn into this problem when we wanted to setup blogs for Sopho. What are the choices available, the pros and cons of each and what we finally went with are discussed in detail below.
The main choices you need to make are regarding two aspects and they influence each other. The first choice is about the url architecture of the blogs for your website: Blog residing in a different subdomain like blog.acme.com vs Blog residing in a subdirectory like www.acme.com/blog. The second choice is about where you should host your blogs: Third party content platform such as Medium, Substack, Twitter and so on vs CMS application such as Wordpress, Squarespace, Wix, Ghost and so on (both headless and full CMS) vs Setting up your own blogging capabilities from scratch. Let us get into more details about each choices.
This concerns how the URL to the blog will look like. Let us take a look at all the choices available along with their advantages and disadvantages.
Generally, the name of the subdomain for blogging will be something like like blog.acme.com. In such a case, the SEO for the subdomain is separate from the SEO for your main company domain www.acme.com even if there are backlinks between the two domains. This is because search engines treat subdomains as separate sites. Hence, you have to put double the effort for improving the SEO for each of the domains. What this means is that even if your blog starts ranking high for certain keywords, your company website won't be and vice-versa.
However, this is useful in certain situations. If you want the SEO of the blog subdomain to be intentionally different from the one for your main domain this approach will suite you. Nevertheless, this is very uncommon. However, rarely this is the only option if you are using certain non-headless CMS for blogging.
Usually, the name of the subdirectory for blogging will be www.acme.com/blog. In such a case, the SEO for blogs will fall under the SEO for the main website www.acme.com. Hence, if your blog gets higher ranking for certain keywords it will translate to your main website as well. No duplicate SEO efforts will be required. You can think as if the blogs and your website are one for the purpose of SEO and plan forward under this assumption. This works well with all approaches other than using a third party.
If you are using a third party content platform, your domain will not be utilized for hosting the blogs. They will always be hosted in the content platform's domain. Your website will not get much ranking on the keywords. More detail about using third party content platform is discussed below.
This concerns the platform being used to store and serve the blogs to the readers. Let us dive deeper into each options and their pros and cons.
There are many popular third party content platforms: Medium, Substack, Twitter Articles and so on. Apart from this, you can target your specific audience using dedicated content platforms. For example, to target places where software engineers hangout, you can go for Dev.to, Hashnode, FreeCodeCamp and so on. The content will only be in the domain of the publishing platform. You can add backlinks from the content to your website so that the readers visit your website to checkout your product.
These platforms has a lot of active readers who are ready to consume content they want and the platform is working tirelessly to fix them up with better content. Also, these platforms ranks very high in SEO. So, adding your content here will sweep it in this well-designed and win-win cycle. It will reach a lot of people and your content will be easily discoverable. This is very advantageous especially when you are starting off your blogging journey.
However, one major disadvantage of this approach is that the content is owned and stored in the platform. This could be a deal breaker in certain situations if you want the full ownership of your content or you want the content to be in your own website. Another disadvantage is that even if your blogs have backlinks to your company domain and your blogs are getting ranked higher for certain keywords it won't translate to making your website rank higher for the same keywords. Even if it does, it won't be much.
There are a lot of CMS applications in the market today from full CMS applications like Wordpress, Drupal, Wix, Ghost to headless ones such as Strapi, Wagtail. There are some you can self-host and almost all with a cloud subscription.
The major advantage of these is that you will own your content. The job of creating, publishing and managing content can be offloaded to a separate content management team with defined authorization and roles. The dev team does not have to be a part of this once it is setup. These applications are built with SEO as a core pillar hence follows the best in class principles so that your blogs are SEO friendly and you do not have to think of it. You can just focus on getting your content out to the world.
They can be used in both subdomain and subdirectory manner. It depends on the CMS you are going with and if you are going with a cloud subscription, the tier of the subscription. Nowadays most CMS provides this feature which you can configure easily with the click of a few buttons.
Self-hosting CMS applications will required a good level of software engineering expertise since you need a database for storing content, extending the website's design-system to the CMS and integrating CMS APIs. It will also cost you for running it in your servers, usually less than the cloud subscription, but with a lot of maintenance overhead.
When you are starting off, your website will not be ranking high in any keywords and hence your blogs won't be discoverable by searchers. There is no mechanism that puts the blog in front of the searchers. You will have to run ads, or share in social media platforms to increase the discoverability of your content.
There are ways in which you can setup your own blogging capabilities in your website by writing some code. The specific approach depends on the tech stack you are using. This approach suits a developer more even though things are way easier with AI. Your blogging system now lives with your website and handing it off to a content management team will be next to impossible. This approach suits very small teams who are just starting off. This approach is harder to get right since you have to ensure your blogs are SEO friendly and there are no features that comes for granted in a CMS which are present here. Again, attracting searchers to your website and blogs will be hard as discussed earlier because of the same limitations.
One major advantage is that now your website and blogs will live together and can even share code. Hence, extending the design-system of your website (color, font, animations) to your blogs will be easy and smooth. This will give the searchers a very cohesive experience.
As with all things everywhere, the best approach is usually a little bit of everything. Same is the case here. Our main restrictions were money and workforce since we are just starting off. We chose going with the subdirectory for URL for the ease of SEO since our team is very small and we want the SEO for the blogs and the business website to be the same. As with the choice of the blogging platform since we are starting off with our blogs we needed our blogs to be highly discoverable by searchers since our website has literally no ranking for any keywords and we have no intention of running ads. Also, we do not want the overhead of setting up and maintaining a CMS right now since we are a very small team of just developers. We also do not want to be spending much money on a CMS subscription or on running servers for CMS. So we chose to go with the third way which is to build our own blogging capabilities from scratch.
This however does not solve the content discoverability problem. So, we decided to publish the same articles in the third party publishing platforms as well for more discoverability. This causes duplicate contents in the internet and Search Engines penalizes duplicate content. However, we can avoid this penalty by using noindex tags or canonical links. This approach falls under a conventional strategy called Content Syndication.
Our website is built using standard Next.js hence our blogging capabilities are centered around Next.js. We came across a format called MDX which basically enables the use of JS inside markdown files and converts the entire MDX file to HTML for rendering. With this we were able to write our content in markdown and use JS inside it. For example, we used our custom stylized fonts, headings and colors which is part of our design-system very easily in the MDX files for blogs. Also, we could also store these MDX files in a database and retrieve them at runtime and render it. We have not done this yet since the number of blogs we have currently is very less. We used MDX frontmatter (specifically grey-matter) to get meta details about the blog MDX files such as title, date, tags and so on. We set the entire thing up following the documentation at Next.js MDX Integration Guide. There is also a nice Next.js template which uses all the approaches just discussed that proved helpful for us: MDX Website Template.
Any Coding Agent can help very much with setting this up in your website's codebase. I used Cursor and the prompt I used for setting this up is as follows:
Setup blog page in the path /blog for this nextjs application using mdx.
Install MDX nextjs packages if not present.
Version match the MDX nextjs packages with the Next.js versions. This is very critical.
The blog page should have a proper heading and subheading.
The blog page should have a list of blogs with blog title, date, tags, thumbnail.
Setup a folder for keeping one page for each new blog post with two sample random blogs to verify working.
Use gray-matter for frontmatter parsing and Node's fs module for listing the blog pages. Use best practices after thinking.
Use the design-system components as much as possible in the blog list page and the individual blog pages. If needed create new components or local wrappers. Use colors and design tokens alredy present.
This setup the entire feature to about 90%. There were some bugs probably specific to my codebase which I had to manually fix.
Content Syndication is the process of re-publishing your original content in other websites for various reasons such as better domain authority, SEO, or audience. There are mainly two ways of doing this.
The first approach uses the noindex tag. This tells the Search Engine to not index the content for search results. This prevents the re-published content to never appear in the search results and hence the original content won't be penalized. However, this is not something that is advantageous to third party content platforms since they want to get better rankings for searches.
The next best approach is to use canonical links. It basically tells the search engine that the re-published version is a duplicate of the canonical content at your website. This causes the original content to rank above the re-published content. Many of the third party content platforms support this feature. This is because they can also get good rankings for searches. The guide for setting up canonical link in Medium is as follows- Medium Set Canonical Link.
In conclusion, if the third party content platform supports noindex, go with it. If not, go with canonical links. If both are not possible add a line saying something like "Originally published at www.acme.com/blog/5".
Since our blogging capability is setup, these are the steps we now follow to publish a new blog article:
https://www.sopho.io/blog/content-strategy.article originially published at https://www.sopho.io/blog/content-strategy in the beginning of the article.<link rel="canonical" href="https://www.sopho.io/blog/content-strategy"> should be present in the HTML source when doing Inspect when using canonical links. When using noindex tags, there will be something like <meta name=" robots" content="noindex, follow"> in the HTML source.Our blog publishing strategy is a multi-step process to get all the advantages we can. We went through a lot of articles, experiences and recommendations before coming to this approach. Nevertheless, everyones situations and constraints are different and they should build a blogging strategy catered to it rather than following an approach recommended by someone. Currently our strategy focuses only on SEO for Search Engines like Google. We are extending the strategy for better traffic from LLMs.