A professional static website for CTO coaching, fractional executive services, and technology consulting built with Pelican static site generator.
- Professional Design: Clean, conversion-focused design with compelling service pages
- Substack Integration: Automatically imports blog posts from your Substack RSS feed
- Static Security: Zero server-side vulnerabilities with static hosting
- SEO Optimized: Meta tags, Open Graph, schema markup, and sitemap
- Mobile Responsive: Mobile-first design that works on all devices
- Fast Performance: Optimized for speed with CDN-ready static files
pip install -r requirements.txtEdit pelicanconf.py to customize:
AUTHOR = 'Your Name'
SITENAME = 'Your Site Name'
SUBSTACK_FEED_URL = 'https://yoursubstack.substack.com/feed'- Edit service pages in
content/pages/ - Update your bio in
content/pages/about.md - Add your contact information in
content/pages/contact.md
# Development server with live reload
make dev
# Build for production
make publish- Update Author Info: Edit
AUTHORinpelicanconf.py - Social Links: Update
SOCIALtuple inpelicanconf.py - Contact Details: Edit
content/pages/contact.md
Edit the service pages in content/pages/:
services.md- Overview of all servicescto-coach.md- CTO coaching details and pricingfractional-cto.md- Fractional CTO service detailsconsulting.md- Consulting service details
- Set Feed URL: Update
SUBSTACK_FEED_URLinpelicanconf.py - Configure Import: Adjust
SUBSTACK_IMPORT_LIMITandSUBSTACK_PUBLIC_ONLY - Test Import: Build the site to import latest posts
- Colors: Edit CSS variables in
themes/cto-pro/static/css/style.css - Fonts: Update font links in
themes/cto-pro/templates/base.html - Logo: Add your logo to
content/assets/images/
# In publishconf.py
PLAUSIBLE_ANALYTICS = {
'domain': 'your-domain.com'
}# In publishconf.py
GOOGLE_ANALYTICS = "G-XXXXXXXXXX"- Push to GitHub: Create a repository and push your code
- Enable GitHub Pages: In repository settings, enable Pages from
gh-pagesbranch - Automatic Deployment: The included GitHub Action will build and deploy automatically
- Connect Repository: Link your GitHub repository to Netlify
- Configure Build: Use build command
pelican content -o output -s publishconf.py - Set Environment Variables: Add any required environment variables
- Custom Domain: Configure your custom domain in Netlify settings
# Build the site
make publish
# Upload the output/ directory to your web server
rsync -avz output/ user@server:/path/to/webroot/- Manual Posts: Create
.mdfiles incontent/blog/ - Substack Import: Automatic import from your Substack RSS feed
- Post Format: Include title, date, category, tags, and slug metadata
Each service page should include:
- Compelling headline and value proposition
- Clear description of benefits
- Pricing information (if appropriate)
- Call-to-action buttons
- Client testimonials or case studies
- Page Titles: Use descriptive, keyword-rich titles
- Meta Descriptions: Write compelling descriptions under 160 characters
- Headers: Use H1, H2, H3 structure for content hierarchy
- Internal Linking: Link between related pages and services
# Install dependencies
make setup
# Development server with live reload
make dev
# Build for production
make publish
# Clean build directory
make clean
# Run with debugging
make html DEBUG=1├── content/
│ ├── blog/ # Blog posts
│ ├── pages/ # Static pages
│ ├── assets/ # Images and static files
│ └── extras/ # robots.txt, favicon, etc.
├── themes/cto-pro/ # Custom theme
│ ├── templates/ # Jinja2 templates
│ └── static/ # CSS, JS, images
├── plugins/ # Custom Pelican plugins
├── .github/workflows/ # GitHub Actions
└── output/ # Generated site (git ignored)
- Template Errors: Check Jinja2 syntax in theme templates
- Missing Dependencies: Run
pip install -r requirements.txt - Plugin Errors: Verify plugin configuration in
pelicanconf.py
- Feed URL: Verify your Substack RSS feed URL is correct
- Network Issues: Check internet connection and firewall settings
- Content Parsing: Some Substack formatting may need manual adjustment
- GitHub Actions: Check Actions tab for build errors
- Netlify: Review deploy logs in Netlify dashboard
- DNS: Verify domain DNS settings point to hosting provider
For questions or issues:
- Documentation: Check Pelican documentation at https://docs.getpelican.com/
- Issues: Create an issue in the repository
- Professional Help: Contact for consulting assistance
This project is open source. Feel free to customize and use for your own CTO coaching website.
Sun Oct 19 23:06:05 NZDT 2025