Frequently Asked Questions

Find your answers!

Yes. Install it in its own folder and configure the directory it resides in as an application in IIS. Some hosting providers may not allow the level of trust used in BlogEngine.NET by default. If you receive an error similar to:

  • "Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.",

You can try one of the following to resolve the issue:

  • Comment out the "trust" line in web.config
  • Ask your hosting provider if they can configure the directory where BlogEngine.NET is installed as a virtual directory.
  • Ask your hosting provider to verify that the directory has been configured as an application in IIS.
Read More about Can BlogEngine.NET be installed within an existing website?

Yes. BlogEngine.NET is built by passionate developers who have too much spare time, just to make an open source blog engine to give away absolutely free.

Read More about Is BlogEngine.NET open source and completely free?

BlogEngine.NET requires web server that support ASP.NET 4.5 with full trust level and write permissions on the App_Data and Custom folder (or site root to support auto-update).

Read More about What are the BlogEngine demands for the web server?

BlogEngine.NET uses XML to store all posts, pages etc. by default. However, if you prefer to use a database, BlogEngine.NET includes a "DbBlogProvider" that allows you to store data in databases which support standard SQL -- MS SQL Server, MySql, SQLite among many others. Configuration changes necessary to store data in a SQL Server database can be found here. If there isn't a data provider already available, you can easily write your own provider. We have enginereed our framework to make this very easy and simple to do.

Read More about What database BlogEngine is it running on?

If you're just starting off with BlogEngine.NET, all of your data will be stored in XML files in your App_Data folder. Some web hosts such as GoDaddy who have an automatic BlogEngine.NET setup option, might setup your blog so data is stored in a database instead. If your blog is new, you don't yet have any data, and you want to switch from XML storage to Database storage, find out how here.

If you have an existing blog and you want to switch the backend your data is stored in (switch from XML to Database or Database to XML), a BlogEngine.NET Provider Migration tool is available!

Read More about How can I switch where data is stored in BlogEngine (XML to Database or vice versa)?

Yes. If you don't like the themes provided with BlogEngine.NET, you can modify an existing one to match your taste or create a new one from scratch. Creating themes for BlogEngine.NET only requires basic knowledge about ASP.NET and HTML. Additionally, BlogEngine.NET takes full advantage of ASP.NET master page structure. Find out more about creating themes.

Read More about Can I customize the design of the blog on BlogEngine?

BlogEngine.NET is licensed under the Microsoft Reciprocal License (Ms-RL), which basically means that you can do anything you want to the source code as long as you release it under the same license.

Read More about How is BlogEngine.NET licensed?

We welcome anybody who wants to contribute. Please read our contribute page to find out how you can get involved.

Read More about I want to contribute to BlogEngine.NET What do I do?

If you are using default XML provider:

  1. Get to your website (usually by FTP to your web server).
  2. Open /app_data/users.xml in the text editor, for example notepad.
  3. Remove password from your admin account, meaning:

    change from:




    If you are using SQL then instead of XML file update DB table:

        UPDATE be_Users SET Password = '' WHERE UserName = 'admin'
  4. Restart web site, easiest way is to open web.config and add a space to the comment and save it. Comments are:

        <!-- anywhere between tags like these -->
  5. Now you should be able to log in as admin/admin.

If you don't have Admin account in the users.xml file, add new user tag like so:

    <LastLoginTime>2007-12-05 20:46:40</LastLoginTime>

Once logged in as admin, you can delete and create again any user account from admin panel.

Read More about How do I reset BlogEngine admin password?
Set up role for self registration
  • 1. In the admin panel, go to Users -> Roles and create new role, for example "Commentors".
  • 2. Assign to this role same rights that "Anonymous" role has.
Revoke "Create comment" right from anonymous

In the "Roles" screen, click anonymous role and uncheck "Create Comment"..

Set up self registration
  • 1. In the admin panel, go to Settings -> Advanced and under "Security Settings" section check "Enable self registration". This will add registration option to logon screen.
  • 2. In the "Initial Role" dropdown, select "Commentors" role created in the first step.

With this in place, only logged in users should be able to post comments.

Read More about How do I allow only logged in users to post comments on BlogEngine?

If your server in different time zone, you'll need to compensate this difference with time offset. Under basic settings, set "server time offset" to positive on negative number, in hours. For example, 5 or -5 to compensate 5 hours difference.

Read More about Why only logged in users can see published post on BlogEngine?