<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Expression Web team blog</title><link>http://blogs.msdn.com/b/xweb/</link><description>Blog by the team behind Microsoft Expression Web</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Microsoft Expression News</title><link>http://blogs.msdn.com/b/xweb/archive/2012/12/20/microsoft-expression-news.aspx</link><pubDate>Thu, 20 Dec 2012 19:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10379881</guid><dc:creator>Lori Dirks</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10379881</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2012/12/20/microsoft-expression-news.aspx#comments</comments><description>&lt;p&gt;We released important news today about the Expression family of products.&amp;nbsp; Please visit the &lt;a title="http://expression.microsoft.com" href="http://expression.microsoft.com"&gt;Expression Community&lt;/a&gt; site for details.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10379881" width="1" height="1"&gt;</description></item><item><title>Expression Web 4 Service Pack 2</title><link>http://blogs.msdn.com/b/xweb/archive/2011/07/13/expression-web-4-service-pack-2.aspx</link><pubDate>Wed, 13 Jul 2011 20:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10186252</guid><dc:creator>Alex Moskwa</dc:creator><slash:comments>21</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10186252</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2011/07/13/expression-web-4-service-pack-2.aspx#comments</comments><description>&lt;p&gt;We&amp;rsquo;re pleased to introduce a new service pack for Microsoft Expression Web. Expression Web 4 SP2 focuses on making the editing process easier and faster. It includes improvements in two major areas: 1) workspace configuration and 2) code editing. It also includes a variety of other bug fixes and improvements.&lt;/p&gt;
&lt;h2&gt;Workspace improvements&lt;/h2&gt;
&lt;p&gt;Expression Web now supports any number of &lt;strong&gt;custom workspaces&lt;/strong&gt;. You can save, restore and reset workspaces&amp;mdash;which are collections of panel configurations. You can find the Workspaces feature on the Panel menu.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/7128.WorkspaceMenu.png"&gt;&lt;img style="border: 0px currentColor;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/7128.WorkspaceMenu.png" width="522" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With Expression Web 4 SP2, we&amp;rsquo;ve built &lt;strong&gt;custom toolbars&lt;/strong&gt; into Expression Web. This feature allows you to create any number of custom toolbars using any of the built-in (internal) Expression Web commands. The Custom Toolbars feature is found under the View menu.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/1067.CustomToolbarDialog.png"&gt;&lt;img style="border: 0px currentColor;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/1067.CustomToolbarDialog.png" width="500" height="436" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Expression Web now provides a &lt;strong&gt;preview thumbnail&lt;/strong&gt; of the currently selected file in the folder list panel. No more hunting around for image dimensions or sizes. In addition, the convenient link text under the size display lets you quickly copy an &amp;lt;img&amp;gt; tag or the CSS dimensions to the clipboard to paste into your markup.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/5126.ImageThumbnail.png"&gt;&lt;img style="border: 0px currentColor;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/5126.ImageThumbnail.png" width="367" height="308" /&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/0601.ImageThumbnail.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If a CSS file is highlighted, you get clickable links for creating @import and &amp;lt;link&amp;gt; syntax; if a JavaScript file is selected, you can make a &amp;lt;script&amp;gt; tag with a click.&lt;/p&gt;
&lt;h2&gt;Code Editing Improvements&lt;/h2&gt;
&lt;p&gt;jQuery is the world&amp;rsquo;s most popular JavaScript framework. And now, Expression Web users can enjoy one of the best &lt;strong&gt;jQuery IntelliSense&lt;/strong&gt; implementations around. One of the nicest elements of this feature is the intelligence we&amp;rsquo;ve built into creating selectors. With jQuery, you target methods at HTML elements that are identified using CSS selectors&amp;mdash;tags, ID&amp;rsquo;s and classes.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/6204.jQueryIntel.png"&gt;&lt;img style="border: 0px currentColor;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/6204.jQueryIntel.png" width="453" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Expression Web knows the IDs and classes that are available in your document, and will present you with the appropriate list (HTML tags, IDs, or classes), based on what you&amp;rsquo;ve started typing as a selector. In addition, Expression Web&amp;rsquo;s jQuery IntelliSense also supports IntelliSense while chaining multiple methods. In jQuery, methods can be executed one after the other within the same expression. In the example below, the css() and prepend() methods are chained, with IntelliSense operating within each chained method.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/0385.jQueryIntelChain.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/0385.jQueryIntelChain.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Our new&lt;strong&gt; Snippets panel&lt;/strong&gt; lets you store and access snippets in a folder-based hierarchy. It comes with dozens of useful snippets in a variety of languages, and will automatically convert and load any existing custom snippets you&amp;rsquo;ve already built.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/4263.Snippets.png"&gt;&lt;img style="border: 0px currentColor;" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/4263.Snippets.png" width="386" height="275" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, the new feature was designed to preserve the ergonomics of the current snippets feature. Ctrl-Enter will bring it to the foreground with focus in the Filter field. Typing will automatically filter the list. You can use the arrow keys to navigate, and hit Enter to insert. Expression Web also now supports &amp;ldquo;wrap&amp;rdquo; snippets&amp;mdash;where you specify code that goes before and after a selection&amp;mdash;as well as the standard &amp;ldquo;replace&amp;rdquo; snippets.&lt;/p&gt;
&lt;p&gt;A common pain point for web developers is the effort it takes to comment and uncomment bits of code you&amp;rsquo;re testing. Our &lt;strong&gt;Universal Comment/Uncomment&lt;/strong&gt; feature will comment or uncomment code with Ctrl-j, Ctrl-Shift-j, from within whatever language you&amp;rsquo;re working with&amp;mdash;PHP, JS, CSS, HTML.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/2772.Comment.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/2772.Comment.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2&gt;Interactive Snapshot&lt;/h2&gt;
&lt;p&gt;In Expression Web 3 we introduced the Snapshot panel which uses SuperPreview rendering technology to allow you to preview Web pages in any version of IE (and Firefox 3.x) as you&amp;rsquo;re authoring them. This is great for layout issues, but doesn&amp;rsquo;t help if you need to test page interactivity. In Web 4 SP2, we&amp;rsquo;ve added an &lt;strong&gt;Interactive mode&lt;/strong&gt; to our stable of IE renderers (as well as an interactive Firefox 3.x). Interactive mode essentially puts Internet Explorer in a panel, allowing you to see and interact with web pages during the authoring process. Mouse-overs, lightboxes and animations all work. Simply saving your changes triggers a refresh of the panel. IE Interactive uses the current version of Internet Explorer installed on your machine.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/4111.Snapshot.png"&gt;&lt;img border="0" alt="" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-71-20/4111.Snapshot.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We hope you enjoy this new Expression Web service pack. It is available via the download link on the Expression Community site at &lt;a href="http://expression.microsoft.com"&gt;http://expression.microsoft.com&lt;/a&gt; and will also be delivered via Microsoft update.&lt;/p&gt;
&lt;p&gt;Alex Moskwa&lt;br /&gt;Program Manager&lt;br /&gt;Microsoft Expression Web&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10186252" width="1" height="1"&gt;</description></item><item><title>Expression Web 4 Service Pack 1</title><link>http://blogs.msdn.com/b/xweb/archive/2011/03/21/expression-web-4-service-pack-1.aspx</link><pubDate>Mon, 21 Mar 2011 16:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10143890</guid><dc:creator>JD_MSFT</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10143890</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2011/03/21/expression-web-4-service-pack-1.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/250x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/2476.html5Shirt.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Typically, we come out with a service pack release to fix bugs, address performance problems, and add a bit of polish to a product.&lt;/p&gt;
&lt;p&gt;In the case of Expression Web 4 SP1&amp;mdash;we really couldn&amp;rsquo;t wait. We saw all the cool stuff that&amp;rsquo;s happening around HTML5&amp;mdash;we&amp;nbsp; knew the release of IE9 was coming&amp;mdash;and we said to ourselves, &amp;ldquo;We need to get some Expression Web HTML5 goodness out, ASAP!&amp;rdquo; &lt;/p&gt;
&lt;p&gt;And, here it is, built into Expression Web 4 SP1.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve added IntelliSense for the complete HTML5 specification, IntelliSense for the (evolving) CSS3 draft spec, support for all new CSS properties in the CSS Properties palette, and support for selected CSS properties in the Style dialogs (like the Border Radius dialog below).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/500x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/1884.css.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;There is a lot of stuff in here. And now, you have no excuses for not jumping on the HTML5 bandwagon.&lt;br /&gt;We&amp;rsquo;ve also got support for IE9, so that you can Snapshot your page and preview it directly within Expression Web.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/500x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/3583.snapshot.png" border="0" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;If you haven&amp;rsquo;t checked out SuperPreview in a while, you&amp;rsquo;ll want to. There are quite a few improvements including support for Chrome (via our online service) as well as IE9 rendering. One request we heard a lot was the need to compare pages that are behind a login screen. SuperPreview SP1 includes a new feature called &amp;ldquo;Page Interaction Mode&amp;rdquo; that lets you browse interactively to your page of interest, and then submits that page to your set of chosen browsers.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/500x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/3264.interactiveMode.png" border="0" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;This allows you to use SuperPreview on password-protected pages on your Intranet, or on authenticated Internet sites.&lt;br /&gt;We&amp;rsquo;ve updated our PHP support with hundreds of functions from PHP5, added a number of new niceties like &amp;ldquo;Open as PHP,&amp;rdquo; &amp;ldquo;Open folder in Windows Explorer,&amp;rdquo; &amp;ldquo;Copy File Path,&amp;rdquo; and others. We&amp;rsquo;ve also added IntelliSense for extended characters&amp;mdash;so, as soon as you type a &amp;ldquo;&amp;amp;&amp;rdquo;&amp;mdash;you&amp;rsquo;ll get a list of the HTML character entities that filters as you continue to type.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/250x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4278.charInt.png" border="0" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;We automatically look for Chrome, Safari and Opera and conveniently add them to the list of browsers you can use to preview.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/200x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/6354.multiBrowse.png" border="0" /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Expression Web 4 SP1 is available now via the Microsoft Download Center at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=f6e1bbd9-2b1b-40e8-948b-1276e3b5daa3"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=f6e1bbd9-2b1b-40e8-948b-1276e3b5daa3&lt;/a&gt;. Enjoy!&lt;/p&gt;
&lt;p&gt;Steven Guttman&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10143890" width="1" height="1"&gt;</description></item><item><title>Suggest and vote on new features for SuperPreview!</title><link>http://blogs.msdn.com/b/xweb/archive/2010/10/19/suggest-new-features-for-superpreview.aspx</link><pubDate>Tue, 19 Oct 2010 19:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10078030</guid><dc:creator>Alex Moskwa</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10078030</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/10/19/suggest-new-features-for-superpreview.aspx#comments</comments><description>&lt;p&gt;The SuperPreview team is always looking for new ways to
reach you, our customers. We want to continue to create a product that will solve
your cross-browser testing and web development needs.&lt;/p&gt;
&lt;p&gt;Another way you can reach us is through the new &lt;a href="http://superpreview.uservoice.com" target="_blank"&gt;SuperPreview User Voice site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here you can submit your feature ideas and also vote on the
ideas others have submitted.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Through
this we will continue to grow our understanding of you, our users, and create a
product that does what you want.&lt;/p&gt;
&lt;p&gt;Let us know what you think and be heard.&lt;/p&gt;
&lt;div id="uservoice-feedback"&gt;&lt;a id="uservoice-feedback-tab" style="background-position: 2px 50% !important; background-repeat: no-repeat; display: block !important; height: 25px !important; padding: 0; text-indent: -9000px; width: 98px !important; z-index: 100001 !important; background-color: #7bb545; background-image: url(/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/7024.feedback_5F00_tab_5F00_rotate.png); color: #293e66;" href="http://superpreview.uservoice.com/forums/79603" target="_blank"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
Alex Moskwa&lt;br /&gt;Program Manager&lt;br /&gt;Expression Web and SuperPreview
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10078030" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/feature_2D00_suggestions/">feature-suggestions</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/SuperPreview/">SuperPreview</category></item><item><title>Add HTML5 support to Expression Web 4!</title><link>http://blogs.msdn.com/b/xweb/archive/2010/10/06/add-html5-support-to-expression-web-4.aspx</link><pubDate>Wed, 06 Oct 2010 12:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10071905</guid><dc:creator>Gregory W Smith II</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10071905</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/10/06/add-html5-support-to-expression-web-4.aspx#comments</comments><description>&lt;p&gt;With &lt;a href="http://www.beautyoftheweb.com/"&gt;Internet Explorer 9 Beta&lt;/a&gt;&amp;rsquo;s deep support for HTML 5 and the increasing adoption of HTML5 for RIAs, the Expression Web team is extremely excited to release our free &lt;a href="http://gallery.expression.microsoft.com/en-us/Web4HTML5SchemaAddIn"&gt;HTML 5 Add-in for Expression Web 4&lt;/a&gt;! The HTML5 Schema Configuration Add-In for Expression Web enables the new HTML5 schema to check your markup for errors and provide IntelliSense for HTML5 tags, attributes and values in code view.&lt;/p&gt;
&lt;h4&gt;&lt;a&gt;Install the HTML5 Schema Configuration Add-In&lt;/a&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Quit Expression Web 4 if it is open. &lt;/li&gt;
&lt;li&gt;Download the HTML 5 Schema Configuration Add-In here and save it to your local computer. &lt;/li&gt;
&lt;li&gt;Start Expression Web 4. &lt;/li&gt;
&lt;li&gt;Choose Tools &amp;gt; Add-Ins .. to display the Manage Add-Ins dialog box. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5444.image_5F00_thumb32_5F00_2B2FC299.png"&gt;&lt;img height="334" width="404" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/4466.image_5F00_thumb32_5F00_thumb_5F00_6948DD4A.png" alt="image_thumb[32]" border="0" title="image_thumb[32]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;In the Manage Add-Ins dialog box, click the Install.. button. &lt;/li&gt;
&lt;li&gt;In the Open Expression Web Add-in File dialog box, select the HTML5Schema.xadd add-in file you downloaded, and click Open. Be sure to click &amp;ldquo;Yes&amp;rdquo; when Expression Web asks you to enable the add-in. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1643.image_5F00_thumb31_5F00_55BB7DA9.png"&gt;&lt;img height="368" width="454" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5554.image_5F00_thumb31_5F00_thumb_5F00_1B6007C8.png" alt="image_thumb[31]" border="0" title="image_thumb[31]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3806.image_5F00_thumb7_5F00_456005F0.png"&gt;&lt;img height="302" width="731" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/4382.image_5F00_thumb7_5F00_thumb_5F00_4BA6DC7E.png" alt="image_thumb[7]" border="0" title="image_thumb[7]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If the add-in is correctly installed, it will appear in the Manage Add-In dialog, and the Standard toolbar will display a new &amp;ldquo;HTML5&amp;rdquo; button.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6521.image_5F00_thumb9_5F00_6AE98351.png"&gt;&lt;img height="246" width="735" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0763.image_5F00_thumb9_5F00_thumb_5F00_3F38B955.png" alt="image_thumb[9]" border="0" title="image_thumb[9]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0753.image_5F00_thumb11_5F00_22BBC775.png"&gt;&lt;img height="235" width="350" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0184.image_5F00_thumb11_5F00_thumb_5F00_21E3618B.png" alt="image_thumb[11]" border="0" title="image_thumb[11]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Using the HTML5 Schema Configuration Add-In&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Start Expression Web 4 with administrative privileges (Right-Click the start icon and select&amp;ldquo;Run as Administrator&amp;rdquo;). &lt;/li&gt;
&lt;li&gt;Click the HTML5 button in the standard toolbar. The Configure HTML 5 Schemas dialog box lets you &lt;a&gt;enable or disable &lt;/a&gt;the new HTML5 schema. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8015.image_5F00_thumb33_5F00_67F41E9E.png"&gt;&lt;img height="228" width="529" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1346.image_5F00_thumb33_5F00_thumb_5F00_6DCEC237.png" alt="image_thumb[33]" border="0" title="image_thumb[33]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Click the Enable HTML 5 button to update the Expression Web HTML 5 schemas. Click the X in the upper right corner of the dialog box to close it. &lt;/li&gt;
&lt;li&gt;Restart Expression Web 4. &lt;/li&gt;
&lt;li&gt;Change your editor options by choosing Tools &amp;gt; Page Editor Options. On the Authoring tab, set &lt;strong&gt;&lt;em&gt;both&lt;/em&gt;&lt;/strong&gt; the &lt;strong&gt;&lt;em&gt;Document Type Declaration&lt;/em&gt;&lt;/strong&gt; option and &lt;strong&gt;&lt;em&gt;Secondary Schema&lt;/em&gt;&lt;/strong&gt; options to HTML5. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you set your Doctype and Secondary Schema options to HTML5 in the Page Editor Options, then whenever you create a new web page in Expression Web, the new page contains the HTML5 doctype:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: consolas"&gt;&lt;span style="line-height: normal; list-style-type: disc; color: "&gt;&lt;span style="font-family: ; color: #0000ff"&gt;&lt;span style="font-family: ; font-size: 10pt"&gt;&amp;lt;!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: ; font-size: 10pt"&gt;&lt;span style="line-height: normal; list-style-type: disc; color: "&gt;&lt;span style="font-family: ; color: #a31515"&gt;DOCTYPE&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: ; color: #000000"&gt; &lt;/span&gt;&lt;span style="line-height: normal; list-style-type: disc; color: "&gt;&lt;span style="font-family: ; color: #ff0000"&gt;html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: normal; list-style-type: disc; color: "&gt;&lt;span style="font-family: ; color: #0000ff; font-size: 10pt"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t change the default doctype to HTML5 in the Page Editor Options, you can still create a new HTML5 page by hand in the Code view of a page or open existing HTML5 documents and edit them in Expression Web 4. &lt;/p&gt;
&lt;p&gt;Either way, when you edit an HTML5 document in code view, Expression Web 4 now provides IntelliSense for HTML 5 elements, attributes and their values.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7522.image_5F00_thumb21_5F00_7AC8A248.png"&gt;&lt;img height="522" width="684" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0601.image_5F00_thumb21_5F00_thumb_5F00_5968FCAC.png" alt="image_thumb[21]" border="0" title="image_thumb[21]" style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3326.image_5F00_thumb23_5F00_23840792.png"&gt;&lt;img height="571" width="685" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1777.image_5F00_thumb23_5F00_thumb_5F00_6275882D.png" alt="image_thumb[23]" border="0" title="image_thumb[23]" style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Expression Web team is very excited about the the new generation of great web applications built on HTML 5 and is happy to support you with this free add-in for HTML5!&lt;/p&gt;
&lt;h4&gt;Known Issues&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;If you uninstall this add-In from Expression Web, files are left behind and will cause subsequent installations of the Add-In to break. The work-around is simple: Delete any HTML5Schema folders in your %APPDATA%\Microsoft\Expression\Web 4\Addins directory. Then re-install the Add-In. &lt;/li&gt;
&lt;li&gt;The current SVG schema is provided by the add-in, however, SVG markup is incorrectly flagged as invalid by Expression Web 4. The work-around is to use an online code validator, such as provided by the W3C.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Expression Web 4 sometimes flags closing HTML 5 tags as mismatched tags even though the markup is valid. The work-around is to use an online code validator, such as provided by the W3C.&lt;/li&gt;
&lt;li&gt;Enabling or disabling HTML 5 with the Add-in requires Expression Web to be run with administrative privileges.&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10071905" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/add_2D00_ins/">add-ins</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/CSS+3/">CSS 3</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/HTML/">HTML</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/extensibility/">extensibility</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/HTML5/">HTML5</category></item><item><title>Add custom toolbars to Expression Web 4</title><link>http://blogs.msdn.com/b/xweb/archive/2010/09/27/group-your-favorite-toolbar-buttons.aspx</link><pubDate>Mon, 27 Sep 2010 21:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10048565</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10048565</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/09/27/group-your-favorite-toolbar-buttons.aspx#comments</comments><description>&lt;p&gt;Expression Web 4 provides eleven toolbars on the View &amp;gt; Toolbars menu, organized around particular activities, such as editing in Code view, and working with styles or tables. The default toolbars are sensible unless you regularly use only a few buttons from each toolbar; in that case, the default toolbars may&amp;nbsp;clutter and waste valuable space in the application, especially when your favorite buttons are on three or more different toolbars. To the rescue: the free Custom Toolbars add-in for Expression Web 4 lets you create one or more toolbars to organize your favorite buttons and commands in Expression Web 4. &lt;/p&gt;
&lt;h1&gt;Install the Custom Toolbars add-in for Expression Web 4&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;If Expression Web 4 is open, quit the application.&lt;/li&gt;
&lt;li&gt;Download the Custom Toolbars add-in from the Expression Gallery at &lt;a href="http://gallery.expression.microsoft.com/en-us/CustomToolbars" title="http://gallery.expression.microsoft.com/en-us/CustomToolbars"&gt;http://gallery.expression.microsoft.com/en-us/CustomToolbars&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Double-click the CustomToolbars.msi file, and follow the onscreen instructions to install the add-in. &lt;br /&gt;&lt;br /&gt;&lt;img height="410" width="500" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/4846.installer_5F00_3615D9DC.png" alt="Microsoft Expression Web 4 Custom Toolbars Add-in" border="0" title="Microsoft Expression Web 4 Custom Toolbars Add-in" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/li&gt;
&lt;li&gt;Start Expression Web 4. &lt;/li&gt;
&lt;li&gt;The Favorites toolbar, labeled Customize Toolbars, appears below any open toolbars at the top of Expression Web 4. Select View &amp;gt; Toolbars &amp;gt; Favorites to close this toolbar. This &amp;ldquo;Favorites&amp;rdquo; toolbar that appears is known to be buggy if you try to customize it so we recommend closing it and creating a new custom toolbar from scratch, as demonstrated in the following steps. &lt;br /&gt;&lt;br /&gt;&lt;img height="37" width="140" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8750.customizetoolbars_5F00_7C955A95.png" alt="The Favorites toolbar" border="0" title="The Favorites toolbar" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;Create a custom toolbar&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;In Expression Web 4, on the Tools menu, click Customize Toolbars. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;img height="467" width="504" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3755.image6_5F00_0CF2BA4A.png" alt="Customize dialog box" border="0" title="Customize dialog box" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt; &lt;/li&gt;
&lt;li&gt;Click New, enter a name for your custom toolbar, and click OK. &lt;br /&gt;&lt;br /&gt;&lt;img height="109" width="308" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0216.image_5F00_0810068E.png" alt="New Toolbar dialog box" border="0" title="New Toolbar dialog box" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt; &lt;/li&gt;
&lt;li&gt;In the Customize dialog box, in the column on the left, select the items you want to add to your toolbar, and click Add. To change the order of items in your toolbar, in the column on the right, select an item you want to move, and then click the up or down arrows. When you are done editing your toolbar, click OK. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6232.image_5F00_7699565E.png"&gt;&lt;img height="466" width="504" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7725.image_5F00_thumb_5F00_11F8EB66.png" alt="Customize dialog box" border="0" title="Customize dialog box" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Your custom toolbar now appears below other toolbars open in Expression Web 4, with all of your favorite buttons at the ready! To show or hide your toolbar, select the toolbar&amp;rsquo;s name from the View &amp;gt; Toolbars menu. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1070.image_5F00_03BA7276.png"&gt;&lt;img height="133" width="412" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1055.image_5F00_thumb_5F00_5875DB6E.png" alt="image" border="0" title="image" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Expression Web team &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10048565" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/add_2D00_ins/">add-ins</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/extensibility/">extensibility</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>SuperPreview online service Beta adds Internet Explorer 9 Beta and Safari 5.</title><link>http://blogs.msdn.com/b/xweb/archive/2010/09/15/superpreview-online-service-beta-adds-internet-explorer-9-beta-and-safari-5.aspx</link><pubDate>Wed, 15 Sep 2010 17:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10062354</guid><dc:creator>Alex Moskwa</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10062354</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/09/15/superpreview-online-service-beta-adds-internet-explorer-9-beta-and-safari-5.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;This week we bring two more browsers to our online service Beta.&lt;/span&gt;&lt;/p&gt;
&lt;table border="0" cellpadding="4"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img style="padding: 4px;" border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/6557.IE9Icon128x128.png" /&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img style="padding: 4px;" border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/0160.Safari5Icon128x128.png" /&gt; &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;strong&gt;Internet Explorer 9 Beta&lt;/strong&gt;&lt;/span&gt; &lt;/td&gt;
&lt;td align="center"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;strong&gt;Safari 5 for Mac&lt;/strong&gt;&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;If you&amp;rsquo;ve already signed up for the online service you will receive notification of these new browsers the next time you launch SuperPreview.&amp;nbsp; You can then choose them from the browser selection screen and begin previewing your sites with the new browsers.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;If you haven&amp;rsquo;t signed up yet, you can do it right inside SuperPreview.&amp;nbsp; Just click the Sign up button on the toolbar.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4338.SignUpIcon.PNG" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Access to the SuperPreview online service Beta is available to users who&amp;rsquo;ve purchased or upgraded to Expression Web 4.&amp;nbsp; If you still haven&amp;rsquo;t upgraded from Expression Web 3, version 4 is a &lt;a title="http://www.microsoft.com/expression/products/Upgrade.aspx" href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/free upgrade" target="_blank"&gt;free upgrade&lt;/a&gt; with many improvements.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Alex Moskwa&lt;br /&gt;Program Manager&lt;br /&gt;Expression SuperPreview Team&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10062354" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Internet+Explorer/">Internet Explorer</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/SuperPreview/">SuperPreview</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/IE/">IE</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/safari/">safari</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/online+service/">online service</category></item><item><title>Using the Expression Web SEO Checker</title><link>http://blogs.msdn.com/b/xweb/archive/2010/08/02/using-the-expression-web-seo-checker.aspx</link><pubDate>Mon, 02 Aug 2010 15:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10040615</guid><dc:creator>erwright</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10040615</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/08/02/using-the-expression-web-seo-checker.aspx#comments</comments><description>&lt;p&gt;Expression Web 4 provides a new reporting tool: the &lt;strong&gt;SEO Checker&lt;/strong&gt;, which helps you optimize the pages in your site for discovery and indexing by search engines. Pages that follow good Search Engine Optimization (SEO) guidelines rank higher in search-engine results, helping people find your site more easily.&lt;/p&gt;
&lt;p&gt;&lt;img height="294" width="489" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/4375.SEOresults_5F00_1B8C3C71.png" alt="Expression Web 4 Search Engine Optimization panel" border="0" title="Expression Web 4 Search Engine Optimization panel" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;h1&gt;What does the &lt;strong&gt;SEO Checker&lt;/strong&gt; do?&lt;/h1&gt;
&lt;p&gt;The &lt;strong&gt;SEO Checker&lt;/strong&gt; analyzes static page structure and content, compares each page against 50 different rules to ensure the page is search engine-friendly, and produces a detailed report of problems and solutions.&amp;nbsp; To come up with the 50 SEO rules, the Expression Web team researched the current best practices in SEO which generally emphasize authoring well-formed markup and providing relevant content.&amp;nbsp; The &lt;strong&gt;SEO Checker&lt;/strong&gt;&amp;rsquo;s rules provide guidance in these categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff723979(v=Expression.40).aspx"&gt;Content is not where search engines expect to find it&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., the page is missing the &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; tag, or has an empty &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; tag &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff723900(v=Expression.40).aspx"&gt;Content or markup follows patterns that may be associated with deceptive practices&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., the content of the keywords meta tag is very long or contains duplicate keywords &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff724017(v=Expression.40).aspx"&gt;Content or markup interferes with the ability of search engines to analyze a page&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., the page is not well-formed and may be parsed incorrectly &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff723963(v=Expression.40).aspx"&gt;Content or markup reduces the appeal of a page in search-engine results&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; is too long, or meta description is missing &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff723932(v=Expression.40).aspx"&gt;Content causes search engines to consider two or more pages to be relevant to the same search term&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., inconsistent use of trailing slash (&amp;ldquo;/&amp;rdquo;) when linking to pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff724044(v=Expression.40).aspx"&gt;Content or markup blocks search engines from analyzing your site&lt;/a&gt; 
&lt;ul&gt;
&lt;li&gt;e.g., hyperlink contains too many query string parameters &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;What does the &lt;strong&gt;SEO Checker&lt;/strong&gt; NOT do?&lt;/h1&gt;
&lt;p&gt;The &lt;strong&gt;SEO Checker&lt;/strong&gt; provides guidance to help you improve your site&amp;rsquo;s markup and content, but that guidance alone is not sufficient in building a fully optimized site.&amp;nbsp; In addition to making changes to your pages based on the errors and warnings reported by the &lt;strong&gt;SEO Checker&lt;/strong&gt;, there are many other tasks to consider, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assessing your site&amp;rsquo;s ranking for targeted keywords (check your page rank in multiple search engines) &lt;/li&gt;
&lt;li&gt;Providing compelling, original content in your site &lt;/li&gt;
&lt;li&gt;Building links to your pages (from external sites and within a site) &lt;/li&gt;
&lt;li&gt;Canonicalizing URLs (such as making sure search engines treat &amp;lt;yoursite&amp;gt;.com the same as www.&amp;lt;yoursite&amp;gt;.com) &lt;/li&gt;
&lt;li&gt;Using descriptive filenames for your images &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These tasks and more are covered on the &lt;a href="http://www.bing.com/community/blogs/webmaster/"&gt;Bing Webmaster Center blog&lt;/a&gt; in their five-part series on improving page rank.&amp;nbsp; There are many specific recommendations in these posts, so take a look:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/05/04/is-your-site-ranking-rank-do-a-site-review-part-1-sem-101.aspx"&gt;Is your site ranking rank? Do a site review &amp;ndash; Part 1 (SEM 101)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/05/14/is-your-site-ranking-rank-do-a-site-review-part-2-sem-101.aspx"&gt;Is your site ranking rank? Do a site review &amp;ndash; Part 2 (SEM 101)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/06/04/is-your-site-ranking-rank-do-a-site-review-part-3-sem-101.aspx"&gt;Is your site ranking rank? Do a site review &amp;ndash; Part 3 (SEM 101)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/06/15/is-your-site-ranking-rank-do-a-site-review-part-4-sem-101.aspx"&gt;Is your site ranking rank? Do a site review &amp;ndash; Part 4 (SEM 101)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/06/25/is-your-site-ranking-rank-do-a-site-review-part-5-sem-101.aspx"&gt;Is your site ranking rank? Do a site review &amp;ndash; Part 5 (SEM 101)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;rsquo;d like to drill deeper into understanding external link building and just how important it is for search ranking, see &lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2009/11/20/link-building-for-smart-webmasters-no-dummies-here-sem-101.aspx"&gt;Link building for smart webmasters&lt;/a&gt; (from the Bing Webmaster blog) and &lt;a href="http://googlewebmastercentral.blogspot.com/2010/06/quality-links-to-your-site.html"&gt;Quality links to your site&lt;/a&gt; (from the Google Webmaster blog).&lt;/p&gt;
&lt;p&gt;You should also ensure that all of the content you want searched on your site is reachable via internal hyperlinks, or by creating a sitemap.&amp;nbsp; You can use the Unlinked Files report in the Expression Web Site View to find pages that are not internally reachable.&amp;nbsp; Otherwise, for Sitemap best-practices, see &amp;ldquo;Reveal the heart of your site with a Sitemap&amp;rdquo;&lt;strong&gt; &lt;/strong&gt;in &lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/06/25/is-your-site-ranking-rank-do-a-site-review-part-5-sem-101.aspx"&gt;Part 5&lt;/a&gt; of the Bing SEO blog posts.&lt;/p&gt;
&lt;p&gt;Be aware that the &lt;strong&gt;SEO Checker&lt;/strong&gt; was built for analyzing static HTML content.&amp;nbsp; If the majority of your site&amp;rsquo;s pages are dynamically created by ASP.NET or PHP, you&amp;rsquo;ll see more meaningful SEO analysis results by using the free &lt;a href="http://www.iis.net/download/SEOToolkit"&gt;IIS Search Engine Optimization Toolkit&lt;/a&gt;.&amp;nbsp; Although the IIS Toolkit is not integrated with an editing tool, you can use Expression Web to easily find and fix any SEO issues that are reported by the tool.&lt;/p&gt;
&lt;h1&gt;Example: SEO for a mobile app site&lt;/h1&gt;
&lt;p&gt;I recently wrote a mobile phone application, and then considered how I wanted people to discover the app.&amp;nbsp; Some people will find the app on the phone&amp;rsquo;s app store, but the app store is not indexed by the big search engines.&amp;nbsp; Publishing a corresponding web site for my app adds the possibility that someone will discover the app via a web search.&amp;nbsp; In creating this very &lt;a href="http://www.mapminders.com/"&gt;simple brochure site&lt;/a&gt;, I used the Expression Web 4 &lt;strong&gt;Compatibility Checker &lt;/strong&gt;and &lt;strong&gt;SEO Checker &lt;/strong&gt;to ensure the site is as search-engine friendly as possible.&amp;nbsp; I&amp;rsquo;ll walk through how I used each checker, and how I fixed the issues the &lt;strong&gt;SEO Checker&lt;/strong&gt; found.&lt;/p&gt;
&lt;p&gt;First, I reviewed and fixed code errors and markup compatibility issues on the site.&amp;nbsp; You might wonder why, since we&amp;rsquo;re talking about SEO.&amp;nbsp; This Bing Webmaster Center &lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/06/15/is-your-site-ranking-rank-do-a-site-review-part-4-sem-101.aspx"&gt;blog post&lt;/a&gt; explains: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Is your HTML source code valid? Just because it displays more or less correctly, are you sure it's solid? (Some browsers are much more tolerant of HTML coding errors than others are, so you may not actually see the problems. However, search bots are typically not as forgiving as those tolerant browsers, which is why this issue is important.) Errors in your page source code can have a detrimental effect on your page rank if the search engine doesn't understand and thus can't effectively crawl your code. For example, if you didn't properly format the &amp;lt;head&amp;gt; tag code [&amp;hellip;], all of the work you put into enhancing its content for keyword usage could be for naught.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Additionally, fixing code and compatibility issues first helps ensure that the &lt;strong&gt;SEO Checker &lt;/strong&gt;will find all of the issues it can in your site.&lt;/p&gt;
&lt;p&gt;The status bar at the bottom of Expression Web 4 displays the HTML Incompatibility icon (on the left in the following screenshot), Code Error icon, and doctype of the current page.&amp;nbsp; The HTML Incompatibility icon lets you know if your page has markup that isn&amp;rsquo;t compatible with the page&amp;rsquo;s doctype (HTML5 in this case).&lt;/p&gt;
&lt;p&gt;&lt;img height="108" width="214" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5287.html5doctype_5F00_1CC5436B.png" alt="Status bar showing compatibility error" border="0" title="Status bar showing compatibility error" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;You can click Go To Error to jump to the first compatibility error on the page, or Run Compatibility Checker&amp;hellip; to get a site-wide report of compatibility issues.&amp;nbsp; See our previous blog post &lt;a href="http://blogs.msdn.com/b/xweb/archive/2010/06/14/improve-your-site-s-search-ranking.aspx"&gt;Improve Your Site&amp;rsquo;s Search Ranking&lt;/a&gt; for more info on running the &lt;strong&gt;Compatibility Checker&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Running the SEO Checker&lt;/h2&gt;
&lt;p&gt;Now it&amp;rsquo;s time to tune my website for searchability.&amp;nbsp; I selected &lt;strong&gt;SEO Reports...&lt;/strong&gt; from the Tools menu to display the &lt;strong&gt;SEO Checker&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img height="231" width="322" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7282.dialog_5F00_423458FA.png" alt="SEO Checker dialog" border="0" title="SEO Checker dialog" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/ff723998(v=Expression.40).aspx"&gt;Learn more about SEO&lt;/a&gt; link takes you to Expression Web&amp;rsquo;s built-in Help documentation on SEO and the SEO reporting feature.&amp;nbsp; Be sure to take a look at this Help, as it has a wealth of information on SEO best practices and a detailed explanation of all the SEO rules that are used by Expression Web 4 to analyze your site.&lt;/p&gt;
&lt;p&gt;After clicking Check, the Search Engine Optimization report showed these results for my site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/2821.initialSEOresults_5F00_4F9A6C00.png"&gt;&lt;img height="300" width="749" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3581.initialSEOresults_5F00_thumb_5F00_3CE57249.png" alt="The SEO report pane" border="0" title="The SEO report pane" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By default, the SEO report is sorted by page and line number, showing you issues encountered starting at the top of each page.&amp;nbsp; Each reported issue shows a problem summary, a link to a Help topic on the reported problem, the page name and line number, and the issue&amp;rsquo;s importance (Error or Warning).&amp;nbsp; While you should strive to fix both Warnings and Errors to maximize your SEO results, you&amp;rsquo;ll reap the most benefit from fixing issues marked as Errors.&amp;nbsp; For my site, I&amp;rsquo;ll show you how I fixed all of the SEO issues, including Warnings.&lt;/p&gt;
&lt;h2&gt;Fixing searchability issues&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Warning: No keywords are defined for the page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My site&amp;rsquo;s first searchability issue is the warning &amp;ldquo;No keywords are defined for the page.&amp;rdquo;&amp;nbsp; If you haven&amp;rsquo;t worked with HTML keywords before, this statement may be a bit cryptic.&amp;nbsp; Fortunately, you can hover your mouse pointer over an issue in the Search Engine Optimization panel to see more detailed information, like so:&lt;/p&gt;
&lt;p&gt;&lt;img height="89" width="434" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7536.hovertooltip_5F00_0E1FB9A7.png" alt="Hover tooltip for SEO keyword issue" border="0" title="Hover tooltip for SEO keyword issue" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;You can also double-click on an issue to go directly to the line of code that contains the problem in your page.&amp;nbsp; In this case, double-clicking causes the code editor to highlight the &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; tag on line 2 of index.html.&amp;nbsp; The &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; tag itself is fine, but it&amp;rsquo;s highlighted because the checker did not find any keywords within the document.&amp;nbsp; So, how do we fix this issue?&amp;nbsp; If the guidance in the tooltip was sufficient for you, you could add the missing meta tag and keywords directly in the code editor.&amp;nbsp; But let&amp;rsquo;s say you wanted to learn more about this topic, in which case you could click on the &lt;a href="http://msdn.microsoft.com/en-us/library/ff724034(Expression.40).aspx"&gt;WEB1034&lt;/a&gt; hyperlink in the Search Engine Optimization panel&amp;rsquo;s Help Topic column.&amp;nbsp; Each SEO rule&amp;rsquo;s Help topic contains a detailed explanation of the issue, as well as example HTML for fixing the issue.&amp;nbsp; Here&amp;rsquo;s the Help topic&amp;rsquo;s example HTML for fixing the missing keyword issue:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The following is an example of a correctly formatted &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; tag, with &lt;code&gt;&amp;lt;meta name="description"&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;meta name="keywords"&amp;gt;&lt;/code&gt; tags in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag section.&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;&amp;lt;head&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Contact Proseware, Inc.&amp;lt;/title&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta name="description" content="Contact information for Proseware, Inc., including addresses, phone numbers, and email"/&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta name="keywords" content="Proseware,Proseware applications,Proseware utilities,Proseware tools,Proseware server tools"/&amp;gt; &lt;br /&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;/code&gt;&lt;/blockquote&gt;
&lt;p&gt;Now that we understand the keyword issue and how to fix it, we could either simply type in a new &lt;code&gt;&amp;lt;meta name=&amp;rdquo;keywords&amp;rdquo; content=&amp;rdquo;...&amp;rdquo;&amp;gt;&lt;/code&gt; statement in the code editor, or edit the keywords in the Page Properties dialog, which presents commonly used page meta content for editing.&amp;nbsp; To open the dialog, select &lt;strong&gt;Properties...&lt;/strong&gt; from the File menu:&lt;/p&gt;
&lt;p&gt;&lt;img height="400" width="495" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0876.pagepropertiesdialog_5F00_5FC633F9.png" alt="Page Properties dialog" border="0" title="Page Properties dialog" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;From here, I simply typed a comma-separated list of keywords in the dialog, and Expression Web updated the HTML accordingly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning: The title and description for the page are the same&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Page Properties dialog is a convenient way to also fix the third searchability issue listed in the result pane: &amp;ldquo;The title and description for the page are the same.&amp;rdquo;&amp;nbsp; The page description is generally shown below the page title in search results, and is an opportunity for you to summarize the page&amp;rsquo;s contents to entice people to visit your page.&amp;nbsp; Without a page description, it&amp;rsquo;s up to the search engine to choose what text to show.&amp;nbsp; Perhaps the worst thing you can do here is what I&amp;rsquo;ve shown above, where the title and description are the same.&amp;nbsp; This gives the person searching absolutely no additional information about your page, and is a lost opportunity to direct search traffic to your site.&amp;nbsp; Take a moment to fill this out and write a meaningful description.&lt;/p&gt;
&lt;p&gt;There are two related SEO Checker rules: &lt;a href="http://msdn.microsoft.com/en-us/library/ff723986(Expression.40).aspx"&gt;WEB1052&lt;/a&gt; (&amp;ldquo;The &amp;lt;title&amp;gt; tag contents are not unique within the site&amp;rdquo;) and &lt;a href="http://msdn.microsoft.com/en-us/library/ff723939(Expression.40).aspx"&gt;WEB1028&lt;/a&gt; (&amp;ldquo;The &amp;lt;meta name=&amp;rdquo;description&amp;rdquo;&amp;gt; tag contents are not unique within the site&amp;rdquo;).&amp;nbsp; These rules remind you to keep these tags unique across all pages on your site.&amp;nbsp; Pages with duplicate page titles in your site compete with each other for search engine keyword relevance, reducing each page&amp;rsquo;s search ranking as a result.&amp;nbsp; Unique descriptions ensure that users see meaningful descriptions for each page, and can more easily identify the content they want.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error: The &amp;lt;noscript&amp;gt; tag is missing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As part of marketing this mobile app, I created a Twitter account to keep people up-to-date with the latest changes to the app, and for users to give feedback.&amp;nbsp; Twitter provides canned widgets you can embed in your web pages to show the latest posts from your Twitter feed.&amp;nbsp; The beginning of the widget looks something like this:&lt;/p&gt;
&lt;p&gt;&lt;img height="96" width="478" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5460.scriptsnippet_5F00_53C443C5.png" alt="script block snippet" border="0" title="script block snippet" class="wlDisabledImage" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;These widgets rely on Javascript, but search engines (and some users&amp;rsquo; browsers) will not run this Javascript.&amp;nbsp; In these cases, where the script is intended to generate user-visible content, you can provide a &lt;code&gt;&amp;lt;noscript&amp;gt;&lt;/code&gt; block with alternate text to show the user or provide additional information for the search engine.&amp;nbsp; For this case, I added this just below the second &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; block:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;noscript&amp;gt;Read the latest tweets: &amp;lt;a href=&amp;rdquo;http://twitter.com/mapminders&amp;rdquo;&amp;gt;@mapminders&amp;lt;/a&amp;gt;&amp;lt;/noscript&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Don&amp;rsquo;t bother providing a &lt;code&gt;&amp;lt;noscript&amp;gt;&lt;/code&gt; block if you&amp;rsquo;re simply using &amp;lt;script&amp;gt; for analytics tracking, though.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning: The &amp;lt;meta name=&amp;rdquo;robots&amp;rdquo;&amp;gt; tag contains illegal values&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The robots meta tag instructs the search engine if and how it should index your page content.&amp;nbsp; The rule&amp;rsquo;s help topic lists all of the recognized directives, and what each one means: &lt;code&gt;nofollow, follow, noindex, index, noodp, noydir, noarchive, cache, nocache&lt;/code&gt;. Think carefully before using a directive like &lt;code&gt;nofollow&lt;/code&gt; (which stops the crawler from following any of your page links) or &lt;code&gt;noindex&lt;/code&gt; (which prevents the current page from being indexed).&lt;/p&gt;
&lt;p&gt;For our mobile app website, I had copy/pasted a robots meta tag with an invalid directive:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;meta name="robots" content="all, index, follow"&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Fixing this issue is as simple as removing the invalid &amp;ldquo;all&amp;rdquo; directive from the content attribute.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error: The &amp;lt;img&amp;gt; or &amp;lt;area&amp;gt; tag does not have an &amp;lsquo;alt&amp;rsquo; attribute with text&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is an oft-cited HTML recommendation &amp;ndash; you should always provide alt text for your images, not just for accessibility, but also for search engine relevance.&amp;nbsp; The logo image in my header and the screenshots from my app were all missing alt text, so it was easy to add this in and fix the issues.&lt;/p&gt;
&lt;p&gt;And here&amp;rsquo;s a tip for optimizing your images for SEO which the &lt;strong&gt;SEO Checker &lt;/strong&gt;won&amp;rsquo;t tell you about: you may improve your image search relevance by using hyphen-separated names for your images, such as &amp;ldquo;location-detail-screenshot.png&amp;rdquo;, in addition to having meaningful alt text.&amp;nbsp; We considered adding this as a rule in Web 4, but found it very tricky to correctly automate this check in all of the languages we support in Expression Web.&lt;/p&gt;
&lt;p&gt;For more information, see the Bing Webmaster Center blog post &lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2009/07/23/images-and-flash-and-script-oh-my-sem-101.aspx"&gt;Images and Flash and Script, Oh My! (SEM 101)&lt;/a&gt; for the SEO best practices when using images in your site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Error: The &amp;lt;a&amp;gt; tag text is too general to provide search benefit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And now we&amp;rsquo;ve come to the final SEO issue in our example.&amp;nbsp; These lines were flagged for having content that is too general:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;a href="&lt;em&gt;[app store link]&lt;/em&gt;"&amp;gt;Download&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;a href="#contact"&amp;gt;Contact us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wasn&amp;rsquo;t sure how to resolve this, so I clicked on the &lt;a href="http://msdn.microsoft.com/en-us/library/ff724049(Expression.40).aspx"&gt;WEB1058&lt;/a&gt; help topic link and read the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag appears to contain generic text, such as "link" or "click here." If a hyperlink points to content that is relevant to the site, the search ranking of the site may be reduced unless the anchor text accurately describes the target of the hyperlink.&lt;/p&gt;
&lt;p&gt;Search engines use the contents of &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tags to provide details about the page to which the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag links.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For a decent-sized site, it&amp;rsquo;s worth improving the search relevance of internally linked pages, so we could spend some time rethinking link names to make them more contextually descriptive.&amp;nbsp; For example, we could replace &amp;ldquo;Download&amp;rdquo; with &amp;ldquo;Download the MapMinders app&amp;rdquo;, and replace &amp;ldquo;Contact us&amp;rdquo; with &amp;ldquo;Email the MapMinders developer&amp;rdquo;.&amp;nbsp; But, for such a small site, this may be of little search value and ends up making the link text more visually cluttered.&amp;nbsp; For your own sites, you may need to make this trade-off, as well.&lt;/p&gt;
&lt;p&gt;And with that, I&amp;rsquo;ve fixed all of the searchability issues identified by the &lt;strong&gt;SEO Checker&lt;/strong&gt;!&lt;/p&gt;
&lt;h1&gt;Beyond the SEO Checker: measuring SEO improvements&lt;/h1&gt;
&lt;p&gt;Now that you&amp;rsquo;ve optimized your website for search using the &lt;strong&gt;SEO Checker&lt;/strong&gt; and published your changes, what next?&amp;nbsp; Well, your goal was to have a higher search engine page rank for certain keywords, and to drive more traffic to your site as a result of higher page rank, right?&amp;nbsp; If so, you need to measure your keyword ranking, site traffic, and so on over time.&amp;nbsp; There are many SEO analytics tools available for this purpose, each with their pros and cons.&amp;nbsp; (See &amp;ldquo;Baseline your site&amp;rsquo;s current performance&amp;rdquo; in this Bing Webmaster Center &lt;a href="http://www.bing.com/community/blogs/webmaster/archive/2010/05/04/is-your-site-ranking-rank-do-a-site-review-part-1-sem-101.aspx"&gt;blog post&lt;/a&gt; for a comprehensive list of metrics to pay attention to.)&amp;nbsp; Two free tools to consider are &lt;a href="http://www.bing.com/webmaster"&gt;Bing Webmaster Tools&lt;/a&gt; and &lt;a href="http://www.google.com/webmasters/tools/"&gt;Google Webmaster Tools&lt;/a&gt;.&amp;nbsp; After some initial configuration, they will report data on the number of indexed pages, your top pages, keyword relevancy, and clicks from search results to your site.&amp;nbsp; These tools are fairly lightweight, so depending on the size of your site and what data you want to track, you may very well find that you need more fine-grained search tracking software.&lt;/p&gt;
&lt;p&gt;Regardless of the analytics tools you choose, just remember that SEO is an iterative process.&amp;nbsp; You&amp;rsquo;re unlikely to see improvements overnight, but rather over weeks and months.&amp;nbsp; During that time, check your SEO analytics reports, keep improving your site content, and periodically re-run the &lt;strong&gt;SEO Checker &lt;/strong&gt;to make sure you&amp;rsquo;re not missing an SEO opportunity.&lt;/p&gt;
&lt;p&gt;Eric Wright, Principal SDE &lt;br /&gt;Microsoft Expression Web &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10040615" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+2/">version 2</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/SEO/">SEO</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Free Green Business Web Site Template</title><link>http://blogs.msdn.com/b/xweb/archive/2010/07/19/free-green-business-web-site-template.aspx</link><pubDate>Mon, 19 Jul 2010 19:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10039974</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10039974</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/07/19/free-green-business-web-site-template.aspx#comments</comments><description>&lt;p&gt;The Expression Web team brought me on their team for the summer to develop the markup for some fresh, new, and best of all, free site templates. I&amp;rsquo;m pleased to announce our first site template, Green Business (designed by the team&amp;rsquo;s UX designer, Lena Yeoh), is ready for download:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gallery.expression.microsoft.com/en-us/GreenBusiness"&gt;http://gallery.expression.microsoft.com/en-us/GreenBusiness&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="393" width="504" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7853.clip_5F00_image001_5F00_30FD18B6.jpg" alt="Green Business website template homepage" border="0" title="Green Business website template homepage" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;The core layout of every page in the site is based on a &lt;a target="_blank" href="http://960.gs"&gt;960 grid&lt;/a&gt; which provides a flexible structure I can use to quickly develop most any layout.&lt;/p&gt;
&lt;p&gt;&lt;img height="202" width="254" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6371.clip_5F00_image003_5F00_1795157C.jpg" alt="Page of thumbnails from the Green Business site template" border="0" title="Page of thumbnails from the Green Business site template" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt; &lt;img height="201" width="254" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/2654.clip_5F00_image005_5F00_054C4EBA.jpg" alt="Detail page from the Green Business site template" border="0" title="Detail page from the Green Business site template" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve developed the Green Business pages so you can easily remove elements from a page (images, text, etc.) and swap in your own content without breaking the page&amp;rsquo;s underlying layout. For example, in the following screenshots, I deleted all the filler text and content from the page. As you can see the structure of the page is still left intact, giving you the freedom to swap in and out whatever content you want. &lt;/p&gt;
&lt;p&gt;On the other hand, if you want to use the existing photographs provided in the site template, you are free to use and publish them. &lt;/p&gt;
&lt;p&gt;&lt;img height="184" width="254" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1172.clip_5F00_image007_5F00_6BE44B7F.jpg" alt="Customized page from the Green Business site template" border="0" title="Customized page from the Green Business site template" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt; &lt;img height="193" width="254" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0508.clip_5F00_image009_5F00_12B261C0.jpg" alt="Customized page from the Green Business site template" border="0" title="Customized page from the Green Business site template" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;The Green Business site includes a master.dwt (Dynamic Web Template) file which you can use to make new pages that have the same look and feel as the rest of the website, and to make changes to the header and footer of all pages that use the DWT. (If you are new to working with DWT files, read this tutorial: &lt;a href="http://expression.microsoft.com/en-us/dd939172.aspx"&gt;http://expression.microsoft.com/en-us/dd939172.aspx&lt;/a&gt;. If you&amp;rsquo;d rather not use DWTs, choose Format &amp;gt; Dynamic Web Template &amp;gt; Detach from Dynamic Web Template while a page is open or selected in the file list.)&lt;/p&gt;
&lt;p&gt;The site template also includes e-mail spam bot protection code for your e-mail address, and, naturally, standards compliant XHTML mark-up and CSS2.1.&lt;/p&gt;
&lt;p&gt;The &lt;a target="_blank" href="http://gallery.expression.microsoft.com/en-us/GreenBusiness"&gt;Green Business template&lt;/a&gt; is packaged for &lt;a target="_blank" href="http://www.microsoft.com/expression/products/StudioWebPro_Overview.aspx"&gt;Expression Web 4&lt;/a&gt; and includes simple and easy to follow instructions in a file named ReadMe. It also provides information on how to install the template on Windows XP, Vista and Windows 7. &lt;/p&gt;
&lt;p&gt;I hope you enjoy this template! Let us know if you have any questions or comments.&lt;/p&gt;
&lt;p&gt;&lt;img height="109" width="109" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1007.JimmyLee_5F00_6B78188A.jpg" align="left" alt="Jimmy Lee, front-end web developer" border="0" title="Jimmy Lee, front-end web developer" style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" /&gt; Jimmy Lee, front-end web developer &lt;br /&gt;Microsoft Expression Web&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10039974" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/ux/">ux</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/design/">design</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Site+templates/">Site templates</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Adding symbols and characters to your web page</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/28/adding-symbols-and-characters-to-your-web-page.aspx</link><pubDate>Mon, 28 Jun 2010 23:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10031831</guid><dc:creator>Anna Ullrich</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10031831</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/28/adding-symbols-and-characters-to-your-web-page.aspx#comments</comments><description>&lt;p&gt;Expression Web 4 includes a new Symbol dialog box that enables you to insert symbols and characters in either the Design view or Code view of your web page. You can browse all available characters or&amp;nbsp;choose a subset of characters from the Type menu. &lt;/p&gt;
&lt;p&gt;&lt;img height="368" width="504" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1184.image_5F00_3E3241A9.png" alt="Symbols dialog in Expression Web 4" border="0" title="Symbols dialog in Expression Web 4" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;For quick access the Special Characters tab lists only the most commonly-used characters, such as the copyright symbol, em dash, en dash, registered and trademark symbols:&lt;/p&gt;
&lt;p&gt;&lt;img height="368" width="504" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8037.image_5F00_55604CD8.png" alt="Special Characters tab of the Symbol dialog box in Expression Web 4" border="0" title="Special Characters tab of the Symbol dialog box in Expression Web 4" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Unlike earlier versions of the Symbol dialog box, the Symbol dialog box in Expression Web 4 inserts only the entity name for the character you select and adds nothing else; the Symbol dialog does not add paragraph or span tags, and does not apply a font and style to the character you insert. Consider that &lt;a target="_blank" href="http://www.microsoft.com/expression/products/StudioWebPro_Overview.aspx"&gt;reason #11&lt;/a&gt; to &lt;a target="_blank" href="http://expression.microsoft.com/en-us/ee906701.aspx"&gt;get your (potentially free) copy of Expression Web 4&lt;/a&gt; today!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10031831" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Create useful, professional-Looking add-ins for Expression Web 4</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/22/create-useful-professional-looking-extensions-to-expression-web.aspx</link><pubDate>Tue, 22 Jun 2010 20:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10024827</guid><dc:creator>Mike Calvo</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10024827</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/22/create-useful-professional-looking-extensions-to-expression-web.aspx#comments</comments><description>&lt;p&gt;Expression Web 4 enables developers familiar with web technologies such as HTML, JavaScript, and CSS to easily extend the functionality of the product.&amp;nbsp; A useful add-in that was &lt;a target="_blank" href="http://expression.microsoft.com/en-us/cc136529.aspx"&gt;demoed&lt;/a&gt; at the product launch lets you insert a Bing map into your web page.&amp;nbsp; In this blog post, I&amp;rsquo;ll provide a detailed look at this add-in which is available for &lt;a href="http://gallery.expression.microsoft.com/en-us/BingMapAddIn" title="free"&gt;free&lt;/a&gt; on our community site.&lt;/p&gt;
&lt;h2&gt;A Quick Look at the finished Add-in&lt;/h2&gt;
&lt;p&gt;After downloading the Bing Map add-in, you need to install the add-in in Expression Web 4. To install the Bing Map add-in, choose Tools &amp;gt; Add-ins, click Install, and follow the onscreen instructions. After you install the Bing Map add-in, the Bing Map command appears on the Insert menu and displays the Insert Bing Map dialog box.&lt;/p&gt;
&lt;p&gt;&lt;img height="172" width="244" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6177.menu_5F00_thumb_5F00_54D5845C.png" alt="menu" border="0" title="menu" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img height="284" width="388" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/2235.dialog_5F00_thumb_5F00_421064D8.png" alt="dialog" border="0" title="dialog" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;The dialog contains a functional Bing map that you can pan and zoom.&amp;nbsp;In addition, you can specify a location to center the map around and create a pushpin.&amp;nbsp; Once you have selected the desired location, zoom, and perspective, press the Insert button to add the HTML and JavaScript that will display your interactive map.&lt;/p&gt;
&lt;p&gt;Notice that the Bing Map add-in&amp;rsquo;s dialog has a color theme that matches the look of the Expression Web application.&amp;nbsp; I&amp;rsquo;ll show you how to get the same look for your own add-in in a bit.&lt;/p&gt;
&lt;p&gt;To see your map in action, press F12 to view the current page in your browser.&amp;nbsp; The browser will show the map with the same location, perspective and zoom that you specified in the Insert Bing Map dialog.&amp;nbsp; The map also provides controls that allow a visitor to your page to move around the map.&lt;/p&gt;
&lt;p&gt;&lt;img height="336" width="509" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/2210.preview_5F00_thumb_5F00_5438E000.png" alt="preview" border="0" title="preview" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s take a look at how we created this addin.&lt;/p&gt;
&lt;h2&gt;Defining the Add-in&lt;/h2&gt;
&lt;p&gt;Expression Web add-ins require a manifest file which is an XML file named addin.xml.&amp;nbsp; This file provides the basic description about the add-in as well as some of the ways the add-in introduces functionality into the application.&amp;nbsp; Here&amp;rsquo;s the addin.xml file for the insert Bing Map add-in:&lt;/p&gt;
&lt;p&gt;&lt;img height="261" width="698" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0181.addinxml_5F00_thumb_5F00_2CEE70FE.png" alt="addin-xml" border="0" title="addin-xml" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;The addin.xml file requires a single &amp;lt;&lt;strong&gt;addin&lt;/strong&gt;&amp;gt; element at the root level.&amp;nbsp; At a minimum, it must also include a &amp;lt;&lt;strong&gt;name&amp;gt;&lt;/strong&gt; element.&amp;nbsp; Optional descriptive elements, such as &lt;strong&gt;author&lt;/strong&gt;, &lt;strong&gt;description&lt;/strong&gt;, &lt;strong&gt;guid&lt;/strong&gt;, &lt;strong&gt;homepage&lt;/strong&gt;, &lt;strong&gt;minversion&lt;/strong&gt; and &lt;strong&gt;version,&lt;/strong&gt; help users identify your add-in in the Manage Add-ins dialog.&lt;/p&gt;
&lt;p&gt;For example, here&amp;rsquo;s how the Insert Bing Maps add-in appears in the Manage Add-ins dialog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7433.addinsdialog_5F00_7B9F869D.png"&gt;&lt;img height="236" width="432" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0508.addinsdialog_5F00_thumb_5F00_2E8F1705.png" alt="addins-dialog" border="0" title="addins-dialog" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;Commands&lt;/h2&gt;
&lt;p&gt;To add a menu item or toolbar button to Expression Web&amp;nbsp;for your add-in, use&amp;nbsp;the &amp;lt;&lt;strong&gt;command&lt;/strong&gt;&amp;gt; element in your add-in&amp;rsquo;s manifest file.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s look at the command we&amp;nbsp;added to Expression Web for the Bing Map add-in.&amp;nbsp; At first glance, this part of the manifest file may appear complicated, but after breaking it down, you&amp;rsquo;ll see it&amp;rsquo;s really quite simple.&lt;/p&gt;
&lt;p&gt;&lt;img height="81" width="713" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6886.command_5F00_thumb_5F00_5599B07A.png" alt="command" border="0" title="command" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;Each menu&amp;nbsp;command is defined by a &lt;strong&gt;command&lt;/strong&gt; element which requires a unique &lt;strong&gt;id&lt;/strong&gt; attribute to identify the command for Expression Web.&amp;nbsp; To help ensure your command is unique, try to use an id that identifies&amp;nbsp;what your command&amp;nbsp; does.&amp;nbsp; For example, in the Bing Map add-in, we used the id &amp;ldquo;InsertMap&amp;rdquo;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Next, you need to define what happens when your command is executed.&amp;nbsp; That&amp;rsquo;s where the &lt;strong&gt;onclick&lt;/strong&gt; attribute comes in.&amp;nbsp; Much like an onclick JavaScript event handler, you use the onclick attribute to define the JavaScript code that runs when the user selects the toolbar button or menu item.&lt;/p&gt;
&lt;p&gt;In this example we need to launch a new dialog.&amp;nbsp; To do this, we use the Expression Web API function &lt;strong&gt;xweb.application.showModalDialog. &lt;/strong&gt;This function takes 3 parameters: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;an html page which provides the UI for the dialog, &lt;/li&gt;
&lt;li&gt;a title for the dialog, &lt;/li&gt;
&lt;li&gt;a string containing dialog options (such as size and scrolling).&amp;nbsp; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You&amp;rsquo;ll note that the html page in this example is specified as &amp;ldquo;addin:index.html&amp;rdquo;.&amp;nbsp; This tells Expression Web to look for the file relative to your addin.xml file.&amp;nbsp; So in this case, there should be a file called index.html in the same directory as the addin.xml file.&amp;nbsp; We&amp;rsquo;ll have a look at some things in this file in a moment.&lt;/p&gt;
&lt;p&gt;The final attribute of the command element is &lt;strong&gt;filetype&lt;/strong&gt;, which tells Expression Web to make the add-in&amp;rsquo;s command available only for files that have an HTML DOM, such as HTML, ASP, and PHP files.&amp;nbsp; This makes our command disabled when the user is editing other types of files (such as CSS and JS).&amp;nbsp; If your add-in does not have a similar restriction, you can omit this attribute.&lt;/p&gt;
&lt;p&gt;Within the command element is a &lt;strong&gt;menuitem&lt;/strong&gt; element, which tells Expression Web to add a new menu item for triggering the add-in&amp;rsquo;s command.&amp;nbsp; The menuitem element requires you to specify the &lt;strong&gt;parent&lt;/strong&gt; menu your command should appear under as well as a &lt;strong&gt;label&lt;/strong&gt; for the menu item.&amp;nbsp; Notice in our example the label attribute has a value of &amp;ldquo;_Bing Map&amp;hellip;&amp;rdquo;.&amp;nbsp; The underscore character (&amp;ldquo;_&amp;rdquo;) is optional and tells Expression Web to define a hotkey for the letter &amp;lsquo;B&amp;rsquo;.&lt;/p&gt;
&lt;h1&gt;Defining the Dialog UI&lt;/h1&gt;
&lt;p&gt;Let&amp;rsquo;s have a look at how we created the dialog UI with the file index.html, which the xweb.application.showModalDialog function references.&amp;nbsp; The good news is most of this file should look very familiar as it simply uses standard web technologies.&amp;nbsp; I won&amp;rsquo;t focus on things like basic HTML such as hyperlinks, buttons, and text fields, but&amp;nbsp; I will highlight things in this file which are&amp;nbsp;unique to developing Expression Web Add-ins.&lt;/p&gt;
&lt;h2&gt;JavaScript and CSS&lt;/h2&gt;
&lt;p&gt;The Bing Map add-in&amp;rsquo;s index.html includes references to standard JavaScript libraries such as jQuery as well as custom JavaScript developed for this add-in.&amp;nbsp; As these references suggest, you can leverage powerful JavaScript libraries like jQuery, and your own custom JavaScript,&amp;nbsp;to help you write your add-ins.&lt;/p&gt;
&lt;p&gt;The index.html file also references some stylesheets, which work just as CSS does with any normal HTML page.&amp;nbsp;&amp;nbsp;Take special note of the following CSS reference:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8446.expressioncss_5F00_48BF5A5C.png"&gt;&lt;img height="34" width="713" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6708.expressioncss_5F00_thumb_5F00_12DA6542.png" alt="expression-css" border="0" title="expression-css" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This expression.css&amp;nbsp;file defines the standard color schemes that match the Expression Web application color schemes.&amp;nbsp; To give your add-in a professional, built-in look and feel, make sure you use this this CSS file as well as the style classes defined within it.&amp;nbsp; You can use the version of this CSS file from the Bing Map add-in in your add-ins.&lt;/p&gt;
&lt;h1&gt;Inserting Markup and Script&lt;/h1&gt;
&lt;p&gt;To understand what the add-in does to insert the map, have a look at the file &lt;strong&gt;prepare.js&lt;/strong&gt; within the addi-in&amp;rsquo;s js folder.&amp;nbsp; This file contains a function called &lt;strong&gt;handleInsertButton&lt;/strong&gt; which defines the behavior of the Insert button in the Insert Bing Map dialog box.&amp;nbsp; This function makes heavy use of the jQuery JavaScript framework to define what happens when the pointer hovers over the button and presses it.&lt;/p&gt;
&lt;p&gt;This function does quite a bit, so I&amp;rsquo;ll break some of it down.&lt;/p&gt;
&lt;p&gt;&lt;img height="72" width="713" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5238.appendscriptreference_5F00_thumb_5F00_4C10CC37.png" alt="append-script-reference" border="0" title="append-script-reference" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;These two lines of code show how the Bing Map add-in adds JavaScript references to the current page.&amp;nbsp; In both of these examples, we point to remote script resources using the API function call &lt;strong&gt;xweb.document.appendScriptReference&lt;/strong&gt;. In fact, we not only use jQuery to build the functionality in our add-in, we also use it to build the map functionality in our page.&amp;nbsp; By using this approach the API will protect you from adding a reference to the same resource more than once.&lt;/p&gt;
&lt;p&gt;The next interesting property of the handleInsertButton function is &lt;strong&gt;xwebdocument.selection&lt;/strong&gt; which uses the Expression Web API to locate a suitable home for the map within our HTML markup.&amp;nbsp; This gives you access to the current cursor location or selection in the current document in Expression Web.&lt;/p&gt;
&lt;p&gt;The code uses this property to determine if the current cursor location or selection is within a DIV element with a proper ID.&amp;nbsp; If it is, it will use that element.&amp;nbsp; Otherwise, the add-in adds a new DIV with an ID.&amp;nbsp; Notice, that while this code is using Expression Web-specific APIs, working with the DOM of the current document is very similar to working with the DOM in a regular HTML page.&lt;/p&gt;
&lt;p&gt;&lt;img height="143" width="713" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5228.findadiv_5F00_thumb_5F00_738798A1.png" alt="find-a-div" border="0" title="find-a-div" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;The remainder of the function is standard JavaScript that generates the JavaScript code added to the HEAD element of the document being edited in Expression Web.&amp;nbsp; Finally, towards the end of the onclick function handler for insert, you see the following code:&lt;/p&gt;
&lt;p&gt;&lt;img height="152" width="713" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6646.insertandclose_5F00_thumb_5F00_30C84D69.png" alt="insert-and-close" border="0" title="insert-and-close" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt; &lt;/p&gt;
&lt;p&gt;Again, we use the &lt;strong&gt;xweb.document&lt;/strong&gt; API to address the DOM of the page being edited to locate the HEAD element and use the DOM-standard approach of appending html to the innerHTML property of this node.&amp;nbsp; Finally, we need to close the dialog.&amp;nbsp; To do this, we use the &lt;strong&gt;xweb.appliation.endDialog&lt;/strong&gt; function.&amp;nbsp; The argument to this function is what is returned to the original call to &lt;strong&gt;xweb.application.showModalDialog&lt;/strong&gt; which displayed the dialog.&amp;nbsp; In this particular case it goes unused.&lt;/p&gt;
&lt;h1&gt;Handling Keys&lt;/h1&gt;
&lt;p&gt;To add the final polish of a professional application as well as to support accessibility, it&amp;rsquo;s important to make sure your add-in responds well to keyboard interactions.&amp;nbsp; The insert Bing map add-in shows some examples of how to do this.&lt;/p&gt;
&lt;h2&gt;Hotkeys&lt;/h2&gt;
&lt;p&gt;Notice how the Insert button in the Insert Bing Map dialog&amp;nbsp;has a the letter &amp;ldquo;I&amp;rdquo; underlined.&amp;nbsp; This signifies that the button is wired to the hotkey of Alt-I.&amp;nbsp; This functionality needs to be added by our add-in.&amp;nbsp; To see how this is done, check out the setupKeys function in &lt;strong&gt;prepare.js&lt;/strong&gt;.&amp;nbsp; Specifically, notice the following code:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5658.inserthotkey_5F00_481351DA.png"&gt;&lt;img height="195" width="377" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3122.inserthotkey_5F00_thumb_5F00_4D81C27E.png" alt="insert-hotkey" border="0" title="insert-hotkey" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This uses jQuery to wire an event handler to the keyup event on the body of the dialog&amp;rsquo;s page.&amp;nbsp; When an Alt-I is detected, a click event is manually sent to the insert button&lt;/p&gt;
&lt;h2&gt;Tab Order&lt;/h2&gt;
&lt;p&gt;Another subtle, yet important key function is the use of tabs to cycle through input field selection.&amp;nbsp; Tab should select the next logical input field.&amp;nbsp;&amp;nbsp; While shift tab should select the previous logical input field.&amp;nbsp; In the insert Bing map dialog we&amp;rsquo;ve chosen the logical order to be&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Location text box (id &amp;lsquo;txtWhere&amp;rsquo;) &lt;/li&gt;
&lt;li&gt;More information link (id &amp;lsquo;hp&amp;rsquo;) &lt;/li&gt;
&lt;li&gt;Insert button (id &amp;lsquo;insert&amp;rsquo;) &lt;/li&gt;
&lt;li&gt;Close button (id &amp;lsquo;close&amp;rsquo;) &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To assist in this, we added a function called handleTab which takes an event, a previous control id and a next control id.&amp;nbsp; The function uses a jQuery selector to send focus to the next or previous control if tab or shift tab is pressed respectively.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8306.handletab_5F00_07908F5E.png"&gt;&lt;img height="230" width="601" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8233.handletab_5F00_thumb_5F00_6AA76A88.png" alt="handletab" border="0" title="handletab" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Wiring in our tab functionality is as easy as adding the following code to the setupKeys function:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6266.tabs_5F00_1677BE78.png"&gt;&lt;img height="126" width="657" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/4048.tabs_5F00_thumb_5F00_2E2EF5DE.png" alt="tabs" border="0" title="tabs" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;&amp;nbsp;Summary&lt;/h2&gt;
&lt;p&gt;I hope you&amp;rsquo;ve found this overview of the insert Bing map add-in useful.&amp;nbsp; Be sure to download the add-in and make use of it.&amp;nbsp; It&amp;rsquo;s not only a great extension of Expression Web, it&amp;rsquo;s also a great example of how to make a professional looking add-in.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10024827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/add_2D00_ins/">add-ins</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/extensibility/">extensibility</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Expression Web 4 Licensing FAQ</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/18/expression-web-4-licensing-faq.aspx</link><pubDate>Fri, 18 Jun 2010 18:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10027238</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>14</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10027238</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/18/expression-web-4-licensing-faq.aspx#comments</comments><description>&lt;p&gt;We&amp;rsquo;ve received a number of questions about the free upgrade from Expression Web 3 to Expression Web 4.&amp;nbsp; With this post, I hope to answer the most frequently asked questions and eliminate any confusion.&lt;/p&gt;
&lt;p&gt;The upgrade path for Expression Web 4 depends on how you acquired Expression Web 3.&amp;nbsp; If you purchased a retail version of Expression Web 3 (e.g., from the Microsoft Store, from a local software retailer, from Digital River, etc.), you should download and install the Expression Web 4 Trial version from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7b10272b-2f96-4250-aede-3fcfadf26f34&amp;amp;displaylang=en"&gt;microsoft.com&lt;/a&gt;.&amp;nbsp; The upgrade should happen automatically as you install Expression Web 4.&amp;nbsp; In this scenario, the Setup program for version 4 locates your version 3 license in the Windows License Store and applies that license to version 4.&amp;nbsp; After you have installed version 4, you are free to either uninstall version 3 or leave it installed.&lt;/p&gt;
&lt;p&gt;NOTE:&amp;nbsp; Please keep your copy of Expression Web 3 and your version 3 product key.&amp;nbsp; Should you need to reinstall Windows or have a hard drive failure, you will need to first install Expression Web 3, then reinstall Expression Web 4.&lt;/p&gt;
&lt;p&gt;If you have any other version of Expression Web 3, e.g., acquired through a volume license, MSDN, DreamSpark, etc., you should &lt;b&gt;not&lt;/b&gt; install the trial version.&amp;nbsp; Instead, you should get your copy of version 4 through the same program you used to acquire version 3.&amp;nbsp; I&amp;rsquo;ve listed a few examples below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MSDN &amp;ndash; Browse to the &lt;a href="http://msdn.microsoft.com/en-us/aa570309.aspx"&gt;MSDN download center&lt;/a&gt; to download Microsoft Expression Studio 4 and acquire your product key.&amp;nbsp; Once you have that the product key, you should select Help-&amp;gt;Enter Product Key to license your copy of Expression Studio 4. &lt;/li&gt;
&lt;li&gt;DreamSpark &amp;ndash; Browse to the &lt;a href="https://www.dreamspark.com/default.aspx"&gt;download center location&lt;/a&gt; to download Microsoft Expression Studio 4 and acquire your product key.&amp;nbsp; Once you have that the product key, you should select Help-&amp;gt;Enter Product Key to license your copy of Expression Studio 4. &lt;/li&gt;
&lt;li&gt;Volume Licenses &amp;ndash; Visit the &lt;a href="https://www.microsoft.com/licensing/servicecenter/home.aspx"&gt;Volume Licensing Service Center&lt;/a&gt; (VLSC) to make arrangements to download the upgrade.&amp;nbsp; Your company and/or your reseller need to be registered with the VLSC in order to successfully download the upgrade.&amp;nbsp; As with DreamSpark, at the time I write this, Expression Web 4 and Expression Studio 4 are not yet available on the VLSC, but should be soon. We will update this post when we have the link to the download page. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your free upgrade to Expression Web 4 is not yet available from your supplier, please download and use the free trial version of Expression Web 4 at &lt;a href="http://www.microsoft.com/expression/try-it/"&gt;http://www.microsoft.com/expression/try-it/&lt;/a&gt;.&amp;nbsp; When your free upgrade becomes available, you can uninstall the trial version and install the full version.&lt;/p&gt;
&lt;p&gt;Some additional notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you&amp;rsquo;re in doubt about whether your copy of Expression Web is fully licensed and activated, select Help-&amp;gt;About Microsoft Expression Web and look for the phrase, &amp;ldquo;This is a fully licensed copy.&amp;rdquo; (Note: The information that appears when you choose Help-&amp;gt;Activate Product or Help-&amp;gt;Enter Product Key is not a reliable measure of whether the app is licensed.) &lt;/li&gt;
&lt;li&gt;If you&amp;rsquo;re in doubt about whether your copy of Expression Web 3 is eligible for the automatic upgrade, select Help-&amp;gt;About and look for the product ID which is in the form of a 5-digit number, a dash, a 3-digit number, a dash, etc.&amp;nbsp; If the 3-digit number is 617, the Expression Web 4 installer should automatically license your copy during the installation. &lt;/li&gt;
&lt;li&gt;If you acquired version 3 through a program like MSDN or DreamSpark but are no longer participating in the program, you are not eligible for the free upgrade.&amp;nbsp; You are still eligible for the reduced-cost upgrade. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope this answers your questions.&lt;/p&gt;
&lt;p&gt;Paul Bartholomew&lt;/p&gt;
&lt;p&gt;Microsoft Expression Web&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10027238" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/BUY/">BUY</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>SlapShot for Expression Web 4</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/16/slapshot-for-expression-web-4.aspx</link><pubDate>Wed, 16 Jun 2010 19:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10026049</guid><dc:creator>JD_MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10026049</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/16/slapshot-for-expression-web-4.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;SlapShot&lt;/strong&gt; is a new extension written for Expression Web 4. For those of you who already use the &lt;a href="http://expression.microsoft.com/en-us/library/ee341483(Expression.40).aspx" title="SnapShot"&gt;SnapShot&lt;/a&gt; panel (a feature that debuted in Expression Web 3), you will feel right at home with SlapShot. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;For those of you who haven&amp;rsquo;t yet used SnapShot (or who need a quick refresher course), SnapShot is a panel in Expression Web that displays an image of the current page as rendered by the selected browser. It allows you to easily change the browser and browser resolution without having to repeatedly preview in browser to see your changes.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-55-73/6558.image001.png" border="0" /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;SlapShot is based on the same premise in that you can easily preview a page without loading a browser, however SlapShot extends the features of SnapShot by including full ActiveX support (Silverlight&amp;reg;, Flash&amp;reg;, and so on), as well as interactivity within the page (including navigation). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;In the following screenshot, you can see that SnapShot displays only the &lt;b style="mso-bidi-font-weight: normal;"&gt;Install Silverlight&lt;/b&gt; message but SlapShot displays (with interaction) the actual Silverlight content.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4113.Snap.png" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Slapshot works by listening to the Expression Web &lt;b style="mso-bidi-font-weight: normal;"&gt;ondocumentchanged&lt;/b&gt; and &lt;b style="mso-bidi-font-weight: normal;"&gt;ondocumentsaved&lt;/b&gt; events (for more information about these events, see &lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9735376"&gt;&lt;span style="color: #0000ff;"&gt;The add-in manifest&lt;/span&gt;&lt;/a&gt;&lt;/b&gt; in the &lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;a href="http://go.microsoft.com/?linkid=9714207"&gt;&lt;span style="color: #0000ff;"&gt;Expression Web SDK User Guide&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;). When a page is saved or the active document is changed (for example, the user clicks on the tab of a different page), the SlapShot display updates. Quite nifty.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;There are a few conditions that must be met before SlapShot will work correctly:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;The page must belong to a site on the local computer.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"&gt;&lt;span style="mso-list: Ignore;"&gt;&lt;span style="font: 7pt 'Times New Roman';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Expression Web must be configured to use the Microsoft Expression Development Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;To configure Expression Web to use the Development Server:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;On the &lt;b style="mso-bidi-font-weight: normal;"&gt;Site&lt;/b&gt; menu, click &lt;b style="mso-bidi-font-weight: normal;"&gt;Site&lt;/b&gt; &lt;b style="mso-bidi-font-weight: normal;"&gt;Settings&lt;/b&gt;, and then click the &lt;b style="mso-bidi-font-weight: normal;"&gt;Preview&lt;/b&gt; tab.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: small;"&gt;Make sure &lt;b style="mso-bidi-font-weight: normal;"&gt;Use Microsoft Expression Development Server&lt;/b&gt; is checked and select &lt;b style="mso-bidi-font-weight: normal;"&gt;For all web pages&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Run any page once or load SnapShot&amp;nbsp;&amp;nbsp;to start the Development Server for the site.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;For more detailed instructions configuring and loading the Development Server see the &lt;a href="http://expression.microsoft.com/en-us/library/cc295493(Expression.40).aspx" title="Previewing documentation"&gt;Previewing documentation&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-55-73/0741.image003.png" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Version 1 of SlapShot includes default support for the version of Internet Explorer that is installed on your computer.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-55-73/7610.image004.png" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;You can enable Beta (not all features are available yet) Firefox support in the SlapShot panel using the following steps:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpFirst"&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;Download the Mozilla XUL SDK from the Mozilla download center: &lt;/span&gt;&lt;a href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/"&gt;&lt;span style="font-family: Calibri; color: #0000ff; font-size: small;"&gt;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span class="MsoHyperlink"&gt;.&lt;/span&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Unzip the latest version to your hard drive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Start a command prompt as an administrator and change to the &lt;/span&gt;&lt;span style="font-family: 'Courier New';"&gt;bin&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt; subdirectory where you unzipped the XUL SDK.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Type &lt;/span&gt;&lt;span style="font-family: 'Courier New';"&gt;regsvr32.exe mozctl.dll&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt; and press ENTER.&lt;span style="font-family: 'Courier New';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Restart Expression Web 4. The SlapShot panel now supports Firefox. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4213.dos.png" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4174.dosSucc.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-55-73/1680.image005.png" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;The SlapShot add-in uses a fairly large swath of the extensibility layer and, hopefully, can provide a reference about how to get various pieces of data out of Expression Web 4 (as well as be a useful tool). SlapShot is already available on the &lt;a target="_blank" href="http://gallery.expression.microsoft.com/en-us/site/search?f%5B0%5D.Type=RootCategory&amp;amp;f%5B0%5D.Value=tools&amp;amp;f%5B0%5D.Text=Add-Ins%2C%20Extensions%2C%20Tools&amp;amp;f%5B1%5D.Type=SubCategory&amp;amp;f%5B1%5D.Value=expressionweb&amp;amp;f%5B1%5D.Text=Expression%20Web" title="Expression Gallery"&gt;Expression Gallery&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;To install&amp;nbsp;SlapShot&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;In Expression Web, click Tools, and then click Add-Ins. The Manage Add-ins dialog box is displayed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Click Install, browse to the location you downloaded SlapShot.xadd to, click SlapShot.xadd, and then click Open. The extension is unpacked and added to the list of add-ins,&amp;nbsp;SlapShot can then be found towards the bottom of the Panels menu item.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Enjoy!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri; font-size: small;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;John Dixon&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Calibri;"&gt;Expression Web&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10026049" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/add_2D00_ins/">add-ins</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/JavaScript/">JavaScript</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/extensibility/">extensibility</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Improve Your Site’s Search Ranking</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/14/improve-your-site-s-search-ranking.aspx</link><pubDate>Mon, 14 Jun 2010 16:18:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10024482</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10024482</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/14/improve-your-site-s-search-ranking.aspx#comments</comments><description>&lt;p&gt;Expression Web 4 (released last week!) has a powerful new Search Engine Optimization (SEO) reporting tool that identifies potential SEO problems in your site. This tool makes it very convenient to automatically locate mark-up patterns that might be compromising your page rankings. But all versions of Microsoft Expression Web have a range of features you can use to drive SEO improvements into your mark-up. Let’s take a look at them!&lt;/p&gt;  &lt;h1&gt;A Simple Way to Think About SEO Guidance&lt;/h1&gt;  &lt;p&gt;SEO guidance on the Web tends to fall into one of the following categories:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Don’t confuse the crawler&lt;/li&gt;    &lt;li&gt;Maximize useful content &lt;/li&gt;    &lt;li&gt;Don’t look like a bad guy&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To expand on these, your mark-up should be clean and well-constructed, so that crawlers can understand and crawl it efficiently. You should exercise every available opportunity to describe and differentiate your page content to search engines (including non-user-facing information such as meta tags that provide a description). Finally, you should avoid looking like you’re attempting to game the system by misrepresenting your content or artificially inflating page ranking via SEO spam. I’ll cover all these points eventually; this post is dedicated to the first bullet.&lt;/p&gt;  &lt;h2&gt;Don’t confuse the crawler!&lt;/h2&gt;  &lt;p&gt;One consistent (but not necessarily the most critical) component of SEO involves the mark-up or code of your web pages. Search engines employ programs called crawlers to retrieve and index content on the web. If your pages contain code errors or otherwise confuse the crawler, search engine results can be compromised and not in your site’s favor. Good quality mark-up also increases the usability of your site, resulting in happy visitors that stick around longer.&lt;/p&gt;  &lt;p&gt;Here’s a simple list of rules you can use to help crawlers successfully index your site. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fix obvious code problems in your site&lt;/li&gt;    &lt;li&gt;Link consistently&lt;/li&gt;    &lt;li&gt;Define clear crawling boundaries&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Your pages should be well-formed and free of coding issues. Page hyperlinks should point to existing content and written in a consistent way (that is, all links to the same destination should be identical in case and syntax). Finally, large sites should provide an index or robots.txt file that describes the site content you want crawled. I will cover the first two bullets below.&lt;/p&gt;  &lt;h3&gt;Fix Code Problems with Expression Web Diagnostics&lt;/h3&gt;  &lt;p&gt;If you are not already practicing web standards, the SEO benefits of using web standards might help motivate you. If your markup is syntactically correct and adheres to the rules of your page’s doctype declaration, you reduce the work required to crawl your content. The faster a crawler can get through your site, the faster results for new content will be available to web searches. Expression Web makes it very easy to keep tabs on the quality of your HTML. Open up any page in the tool and both the status bar (at the bottom of the application) and code editor provide immediate feedback regarding the presence or absence of mark-up errors. &lt;/p&gt;  &lt;p&gt;In the following screenshot, I’ve opened up a version of &lt;a href="http://msn.com"&gt;http://msn.com&lt;/a&gt; in the Expression Web code editor. The status bar shows me right away that there is a mark-up error on the page. If you click the warning icon in the status bar, you’ll get a pop-up menu that allows you to jump to the coding problem or run a complete compatibility check. If you choose to jump to the code editor and there are multiple code errors, you can press F8 to jump to the next code error. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Code Error icon in the Expression Web 4 status bar" border="0" alt="Code Error icon in the Expression Web 4 status bar" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/1856.image_5F00_66160020.png" width="504" height="339" /&gt; &lt;/p&gt;  &lt;p&gt;To run a comprehensive report for your site, select Compatibility Checker from the Tools menu, which opens the following dialog. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Compatibility Checker dialog in Expression Web 4" border="0" alt="Compatibility Checker dialog in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/8306.image_5F00_19DDF672.png" width="493" height="266" /&gt; &lt;/p&gt;  &lt;p&gt;This dialog lets you check your HTML/XHTML and CSS compatibility against a number of different doctypes and browser versions. You can also easily restrict results to the current page, all open pages, or your entire site. Choose your settings and click the ‘Check’ button to send the code checker on its way. Results pop up in the Compatibility panel. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Compatibility panel" border="0" alt="Compatibility panel" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3603.image_5F00_398CD03A.png" width="496" height="134" /&gt; &lt;/p&gt;  &lt;p&gt;You can double-click compatibility errors in the output panel to jump directly to the problematic code. Hover over the highlighted issue with your pointer, and a pop-up tooltip describes the problem diagnostic and guidance for resolving it. You can also use the F8 key to move forward and back through report results on the current page (F8 moves to the next problem, Shift-F8 will take you back).&lt;/p&gt;  &lt;h3&gt;Reaping the Rewards of Consistency&lt;/h3&gt;  &lt;p&gt;As in many things, there is a place in SEO work for being consistent as well as a place for differentiating yourself. When it comes to putting links in mark-up, there is a particular value on standardizing on a consistent format for URLs. &lt;/p&gt;  &lt;p&gt;Search engine algorithms are complicated and constantly evolving but all modern engines analyze links to pages as a critical part of indexing pages and providing page ranks. Links tell the search engine there is other site content it should crawl, and links build a map of inter-relatedness that defines the relative value of page. A large number of incoming links to a target page is a sign that the destination represents especially valuable or authoritative content. This is true both for links coming from other sites and links that originate within your own site. (Numerous high-quality external incoming links, of course, are most valuable for elevating search rank.) For best search results, you should insure that links point to content that actually exists. It’s also important that links are expressed in a consistent way. Components of a URL are, technically, case-sensitive; crawlers can therefore potentially divide page rankings between URLs that are identical except for casing or other differences (described below). &lt;/p&gt;  &lt;p&gt;Expression Web provides help for both these problems. First, you should regularly run the broken links report. To do this, open your site in Expression Web. Click the Site View tab and then click Reports at the bottom of this view to see a list of reports that Expression Web can run for you, including several that relate to hyperlinks in your site.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Site Summary in Expression Web 4" border="0" alt="Site Summary in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6330.image_5F00_444A278F.png" width="504" height="367" /&gt; &lt;/p&gt;  &lt;p&gt;Next, click the report titled ‘Broken hyperlinks’ and you’ll see the following screenshot. In the example below, I’ve neglected to properly format an external hyperlink. Expression Web has also determined that a link to an embedded image is in good shape. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Hyperlinks report in Expression Web 4" border="0" alt="Hyperlinks report in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/0385.image_5F00_1C377870.png" width="628" height="393" /&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;To fix the problem, double-click the reported problem in the report to open a more powerful version of the Edit Hyperlink dialog.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Edit Hyperlink dialog box" border="0" alt="Edit Hyperlink dialog box" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7725.clip_5F00_image001_5F00_1754C4B4.png" width="389" height="323" /&gt;&lt;/p&gt;  &lt;p&gt;This dialog lets you jump to the link in the page itself for correction (just click the ‘Edit Page’ button). Or you can the correct URL in the dialog and apply the link fix to all pages or a subset. &lt;/p&gt;  &lt;p&gt;Once you’ve fixed all broken links in your site, you should review all internal links to insure they are expressed in a consistent way. As mentioned previously, most parts of a URL are case-sensitive. Web servers that run non-Microsoft operating systems might return entirely different content for &lt;a href="http://contoso.com/mypage.html"&gt;http://contoso.com/mypage.html&lt;/a&gt; than &lt;a href="http://contoso.com/MYPAGE.HTML"&gt;http://contoso.com/MYPAGE.HTML&lt;/a&gt;. Search engines can therefore rightly regard these links as unique (depending on other factors). If the links actually point to the same content, search results are split between them, diluting the rank of each URL. A good practice, therefore, is to case all URLs in a consistent way, such as using all lower-case capitalization. &lt;/p&gt;  &lt;p&gt;There are several other URL formatting issues you should be aware of (and fix in your site):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Web servers have a notion of a default document for a URL. &lt;a href="http://contoso.com"&gt;http://contoso.com&lt;/a&gt; and &lt;a href="http://contoso.com/default.html"&gt;http://contoso.com/default.html&lt;/a&gt; for example are two URLs that can resolve to the same page. Using both of these URLs throughout a site to link to your homepage is bad for SEO. Page ranking for incoming references to a single page can be split into two, making the SEO value of each URL weaker than if they were considered one. So you should pick one form of the URL and use it consistently throughout your site.&lt;/li&gt;    &lt;li&gt;Another subtle problem involves trailing slashes. &lt;a href="http://contoso.com"&gt;http://contoso.com&lt;/a&gt; and &lt;a href="http://contoso.com/"&gt;http://contoso.com/&lt;/a&gt; are treated as two distinct URLS by crawlers, even if each URL resolves to the same page. For best SEO results, you should consistently either avoid or include a trailing slash in your internal links.&lt;/li&gt;    &lt;li&gt;Many sites support URLs with and without a leading ‘www’ hostname prefix. For sites like this, URLs such as &lt;a href="http://constoso.com/mycontent.html"&gt;http://constoso.com/mycontent.html&lt;/a&gt; and &lt;a href="http://www.contoso.com/mycontent.html"&gt;http://www.contoso.com/mycontent.html&lt;/a&gt; split page ranking, so use only one or the other to link to your content.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are several ways to resolve the problem of inconsistent hyperlinks. The most straightforward method is to manually review and correct all internal links in the Hyperlinks report. To display the Hyperlinks report, go to the Site View tab, and click Reports in the bottom tab. Select Site Summary from the drop down menu in the upper left, and click Hyperlinks. Notice the status bar reports the number of broken links that have been found so far and also differentiates between internal and external links.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Hyperlinks report in Expression Web 4" border="0" alt="Hyperlinks report in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7737.image_5F00_4FFF6EC1.png" width="504" height="367" /&gt; &lt;/p&gt;  &lt;p&gt;Click the ‘Hyperlink’ column name to sort by the link destination and more easily compare and identify problematic URLs. (To reduce the number of links in the report, you can click the green arrow on the Destination column to create a custom filter that ensures the list only contains Internal URLs.) If you find any problem URLs, double-click the URL in the list to correct and apply your hyperlink changes to all files across your site, in a single step. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Edit Hyperlink dialog" border="0" alt="Edit Hyperlink dialog" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/3515.image_5F00_61039CA4.png" width="389" height="323" /&gt; &lt;/p&gt;  &lt;p&gt;You can also use Expression Web’s Find and Replace functionality to scan and modify internal hyperlinks. Hit CTRL-F or choose Edit &amp;gt; Find to open the Find and Replace dialog. The HTML Tags tab provides special search functionality that uses mark-up to locate and modify values:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Find and Replace dialog in Expression Web 4" border="0" alt="Find and Replace dialog in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7824.image_5F00_7588EC22.png" width="504" height="373" /&gt; &lt;/p&gt;  &lt;p&gt;Pull down the ‘Find tag’ dropdown and select ‘a’ in order to run a simple query for all &amp;lt;a&amp;gt; tags in your site. Be sure to select ‘All pages’ under ‘Find where’. Expression Web presents the results in the Find panel, which you can review for URL consistency issues. Double-clicking a result opens the associated page in the editor and jumps to the appropriate code for editing. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Find panel in Expression Web 4" border="0" alt="Find panel in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7737.clip_5F00_image0016_5F00_06F94CFB.png" width="504" height="144" /&gt;&lt;/p&gt;  &lt;p&gt;The Expression Web Find and Replace dialog has additional useful and powerful capabilities. Let’s say you have a mixture of internal references to your web site both with and without a trailing slash and you’d like to correct that. You can use the Find and Replace dialog to locate all &amp;lt;a&amp;gt; tags with a particular href attribute value and make them uniform. To do so, in the Find and Replace dialog box, on the HTML Tags tab, select &amp;lt;a&amp;gt; as before in the ‘Find tag’ dropdown. Now, let’s refine the search rule by clicking the ‘HTML Rules…’ button to open the HTML Rules dialog:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HTML Rules dialog in Expression Web 4" border="0" alt="HTML Rules dialog in Expression Web 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/5280.clip_5F00_image002_5F00_5495797B.png" width="486" height="415" /&gt;&lt;/p&gt;  &lt;p&gt;Click ‘New rule…’ and then select ‘With attribute’ from the dropdown menu. Next, specify the attribute (‘href’) and attribute value (the URL you’d like to correct) that should be used to filter results. Here’s what the dialog looks like using the example case I’ve provided above:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HTML Rules dialog" border="0" alt="HTML Rules dialog" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6254.clip_5F00_image003_5F00_58339458.png" width="486" height="415" /&gt;&lt;/p&gt;  &lt;p&gt;The search tool will now scan all pages looking for &amp;lt;a&amp;gt; tags with an href value equal to &lt;a href="http://contoso.com"&gt;http://contoso.com&lt;/a&gt;. Now, let’s specify that these should be updated to an attribute value of &lt;a href="http://contoso.com/"&gt;http://contoso.com/&lt;/a&gt; (which has a trailing slash). Click ok in the ‘HTML Rules’ dialog. In the ‘Find and Replace’ dialog, select ‘Set attribute value’ in the ‘Replace action’ dropdown. Specify ‘href’ in the ‘Attribute’ dropdown and populate ‘To:’ with the value you’d like as a replacement value, like so:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Find and Replace dialog" border="0" alt="Find and Replace dialog" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6354.clip_5F00_image004_5F00_172514F4.png" width="504" height="373" /&gt;&lt;/p&gt;  &lt;p&gt;Click ‘Replace All’ and you’re on your way. Note the ‘Match case’ option in the ‘Advanced’ section. This option will allow you to easily locate and correct casing problems in URLs. Simply specify the URL you’d like to find, make sure ‘match case’ is not enabled, and provide a replacement value. The search tool will locate all occurrences of the URL in a case-insensitive way and apply a consistently cased value that you specify.&lt;/p&gt;  &lt;h3&gt;What Next?&lt;/h3&gt;  &lt;p&gt;After cleaning up obvious mark-up issues that confuse the crawler, it is time to think about how to increase the useful information in your mark-up that will maximize your page rank and the likelihood that a user will click-through to your site. Expression Web can help with this, too, a topic that I will cover in a post to be published shortly.&lt;/p&gt;  &lt;p&gt;Michael Fanning   &lt;br /&gt;Principal Architect, Microsoft Expression Web &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10024482" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Simplify Your Add-In Development with the Extensibility Tester Add-In</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/09/work-interactively-with-expression-web-4-extensibility-model-using-the-extensibility-tester-add-in.aspx</link><pubDate>Wed, 09 Jun 2010 19:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10022529</guid><dc:creator>Erik Mikkelson</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10022529</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/09/work-interactively-with-expression-web-4-extensibility-model-using-the-extensibility-tester-add-in.aspx#comments</comments><description>&lt;p&gt;I created the Extensibility Tester add-in to provide Expression Web 4 developers a way to test out ideas and troubleshoot their add-ins without the endless cycle of edit, save, and refresh.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/7823.ExtensibilityTesterPanel_5F00_68DCD75D.png"&gt;&lt;img height="500" width="492" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20-metablogapi/6242.ExtensibilityTesterPanel_5F00_thumb_5F00_2BD8A5CB.png" alt="ExtensibilityTesterPanel" border="0" title="ExtensibilityTesterPanel" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;The add-in panel lets developers evaluate JavaScript expressions from within the panel, giving access to the full extensibility model.&amp;nbsp; This allows add-in developers to interact with the Expression Web application while seeing all output, errors, and events that come from the interaction. &lt;/p&gt;
&lt;p&gt;Click &lt;a href="http://gallery.expression.microsoft.com/en-us/ExtensibilityTester"&gt;here to download the Extensibility Tester add-in&lt;/a&gt;. Once you&amp;rsquo;ve downloaded it, you can install it from within Expression Web 4 via the Add-Ins Manager under the Tools menu.&lt;/p&gt;
&lt;h2&gt;Using the Extensibility Tester Add-In&lt;/h2&gt;
&lt;p&gt;Once you have installed the Extensibility Tester add-in you can display it via Tools -&amp;gt; Extensibility Tester. Enter any JavaScript expression into the Input box and click Evaluate. The resulting output or error messages appear in the Output and Error boxes, respectively. Extensibility events are logged into the Events box as they are fired, with the most recent event on the top. The Clear All button clears all the textboxes if you want to start from a clean slate.&lt;/p&gt;
&lt;p&gt;The JavaScript expression is evaluated within the global scope, so variables you create are available from evaluation to evaluation (instead of falling out of scope after the evaluation is completed and not being available). This can save you quite a bit of typing, but comes with one small gotcha: &lt;i&gt;these variables are properties of the window object and must be declared without &amp;lsquo;var&amp;rsquo; (see example in image above).&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Here are a few expressions you can try to see some of the cool stuff you can do with the extensibility model:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;xweb.document.selection.set(10,100); &lt;/li&gt;
&lt;li&gt;Xweb.document.selection.insert(&amp;ldquo;text&amp;rdquo;); &lt;/li&gt;
&lt;li&gt;xweb.application.newdocument("HTML 4.01 STRICT"); &lt;/li&gt;
&lt;li&gt;xweb.document.getElementsByTagName("div").length; &lt;/li&gt;
&lt;li&gt;xweb.document.getScriptElementByCode("var foo = 1"); &lt;/li&gt;
&lt;li&gt;xweb.document.replaceRange(15, 20, "replacement"); &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let me know what you think!&lt;/p&gt;
&lt;p&gt;Erik Mikkelson &lt;br /&gt;Software Development Engineer in Test, Expression Web&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10022529" width="1" height="1"&gt;</description></item><item><title>Easily create an Add-in for Expression Web 4 with the Add-in Builder</title><link>http://blogs.msdn.com/b/xweb/archive/2010/06/07/easily-create-an-add-in-for-expression-web-4-with-the-add-in-builder.aspx</link><pubDate>Mon, 07 Jun 2010 18:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10021124</guid><dc:creator>Anna Ullrich</dc:creator><slash:comments>18</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10021124</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/06/07/easily-create-an-add-in-for-expression-web-4-with-the-add-in-builder.aspx#comments</comments><description>&lt;p&gt;With today's&lt;a target="_blank" href="http://www.microsoft.com/Presspass/press/2010/jun10/06-07Expression4PR.mspx"&gt; launch of Expression Web 4&lt;/a&gt;, we&amp;rsquo;ve made extending Expression Web&amp;rsquo;s functionality easier than ever.&amp;nbsp; Developers can create Add-ins for Expression Web by using HTML, JavaScript and CSS standards they already know!&amp;nbsp; We have also simplified integrating your Add-ins into Expression Web&amp;rsquo;s Panel and menu system using XML.&amp;nbsp; In order to make it even easier, we are providing an Add-in on the Expression Community site that&amp;nbsp;makes it super simple to build other Add-ins. It&amp;rsquo;s a classic Chicken or the Egg problem solved with the &amp;ldquo;Add-in Builder&amp;rdquo;. Click&lt;a target="_blank" href="http://cid-50576f16e2656c46.office.live.com/self.aspx/.Public/AddinBuilder.xadd" title="Add-in Builder Download"&gt; &lt;/a&gt;&lt;a href="http://gallery.expression.microsoft.com/en-us/AddinBuilder"&gt;here to download the Add-in Builder&lt;/a&gt;. Once you have downloaded it, you can install it within Expression Web 4 directly via the Tools -&amp;gt; Add-ins menu! Click the Install button and choose the .xadd file you just downloaded.&lt;/p&gt;
&lt;p&gt;Before we get started building an Add-in with the Add-in Builder let's take a look at the exact XML used in order to integrate the Add-in Builder itself into Expression Web 4.&amp;nbsp; It&amp;rsquo;s pretty simple and very straightforward.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;addin&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt; &lt;span style="color: red;"&gt;legacy&lt;/span&gt;=&lt;span style="color: blue;"&gt;"yes"&lt;/span&gt; &lt;span style="color: red;"&gt;developer&lt;/span&gt;=&lt;span style="color: blue;"&gt;"yes"&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;name&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;Add-in Builder&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;name&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;load&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt; &lt;span style="color: red;"&gt;type&lt;/span&gt;=&lt;span style="color: blue;"&gt;"AddinUtilities.Utilities, AddinUtilities"&lt;/span&gt; &lt;span style="color: red;"&gt;name&lt;/span&gt;=&lt;span style="color: blue;"&gt;"addinUtils"/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;description&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;Chicken or the Egg?&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;description&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;command&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;=&lt;span style="color: blue;"&gt;"AddinBuilderCommand"&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;onclick&lt;/span&gt;=&lt;span style="color: blue;"&gt;"xweb.application.showModalDialog('AddinBuilderTestPage.html',&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add-in Builder','dialogHeight:500;dialogWidth:700;resize:yes')"&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;menuitem&lt;/span&gt; &lt;span style="color: red;"&gt;parent&lt;/span&gt;=&lt;span style="color: blue;"&gt;"MENU_Tools"&lt;/span&gt; &lt;span style="color: red;"&gt;before&lt;/span&gt;=&lt;span style="color: blue;"&gt;"MENU_Tools_AddIns"&lt;/span&gt; &lt;span style="color: red;"&gt;label&lt;/span&gt;=&lt;span style="color: blue;"&gt;"Add-in Builder..."/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;command&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: Consolas; color: maroon; font-size: 9pt;"&gt;addin&lt;/span&gt;&lt;span style="font-family: Consolas; color: blue; font-size: 9pt;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 9pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;As simple as it is, learning and authoring new XML syntax can be time consuming and is largely based on trial-and-error. The Add-in builder provides a user-friendly interface that makes it simple to generate the XML and all the associated content files. In addition, the add-in you define is created in the correct location and a site is created for you inside of Expression Web 4 for you.&amp;nbsp; Why is that cool? Simple, once your add-in is generated you can live edit it just like any other site!&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve cleared all of the hurdles for you and now as a Web Developer you can focus on building the HTML, CSS and JavaScript inside of an Expression Web panel or dialog to build powerful new functionality instead of how to integrate your ideas into Expression Web itself.&lt;/p&gt;
&lt;p&gt;1. If you haven't downloaded the Add-in already you can download the Add-in Builder from &lt;a target="_blank" href="http://gallery.expression.microsoft.com/en-us/AddinBuilder" title="Add-in Builder Download"&gt;here&lt;/a&gt;. Install the .xadd file in Expression Web 4 via the Tools -&amp;gt; Add-ins menu. Click the Install button and choose the .xadd file you just downloaded.&lt;/p&gt;
&lt;p&gt;2.Once you have installed the Add-in Builder add-in you can access it in Expression Web 4&amp;nbsp;via Tools &amp;gt; Add-in Builder.&lt;/p&gt;
&lt;p&gt;3.The first step&amp;nbsp;is to describe your add-in, including name, description, homepage, and version. (I'll publish another post in the near future to describe the other more advanced options in this dialog.)&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/5125.addinbuilderdialog.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. To create a panel for your add-in, click Add Panel. Name, Source, and ID are required fields.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/1067.fineapanel.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5. Click Insert, and then click Create Add-in. That&amp;rsquo;s it; it&amp;rsquo;s that easy to create your own Add-ins.&lt;/p&gt;
&lt;p&gt;After the Add-in is created,&amp;nbsp; a new site appears in Expression Web 4, with your Addin.xml file and an empty html file (the content of the panel you just defined!).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4861.site.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At this point, restart Expression Web 4. Upon restarting, the Add-in panel (or, if you selected, a dialog or assembly) will automatically be installed and available for use.&lt;/p&gt;
&lt;p&gt;7.&amp;nbsp;If you created an Add-in panel, go to the Panels menu and click the name you gave for your&amp;nbsp;panel.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/4188.panelsmenu.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A panel hosting the empty html page opens.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-71-20/2352.myfirstpanel.png" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The panel can be docked, moved, pinned, etc&amp;hellip; within the Expression Web 4 application just like any other default panel!&lt;/p&gt;
&lt;p&gt;8.Open panel.html from the site Expression Web created for your Add-in. Add &amp;lt;h1&amp;gt;Hello World&amp;lt;/h1&amp;gt; to the page and save it.&lt;/p&gt;
&lt;p&gt;9.Right click inside your open &amp;ldquo;My First Panel&amp;rdquo; tab and choose Refresh. You should be able to immediately see the HTML you added rendered in your panel!&lt;/p&gt;
&lt;p&gt;Marc Kapke, Software Development Engineer in Test&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10021124" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/XML/">XML</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/add_2D00_ins/">add-ins</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/extensibility/">extensibility</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+4/">version 4</category></item><item><title>Rule over the true powers of Find</title><link>http://blogs.msdn.com/b/xweb/archive/2010/04/28/find-the-real-powers-of-find.aspx</link><pubDate>Thu, 29 Apr 2010 00:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10004228</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10004228</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/04/28/find-the-real-powers-of-find.aspx#comments</comments><description>&lt;P&gt;&lt;EM&gt;A guest post for the Expression Web Team Blog by &lt;A href="http://www.designisphilosophy.com/" target=_blank mce_href="http://www.designisphilosophy.com/"&gt;Morten Rand-Hendriksen&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;If you use Expression Web or most any text editing and reading software, you likely already use the Find feature to search for text. But if you’re one of the few who is &lt;STRONG&gt;not&lt;/STRONG&gt; using the Find feature in Expression Web, you are likely wasting time doing repetitive tasks the program can do for you far more efficiently. I don’t know about you but for me time = money and I like to spend as little of the former to get as much of the latter as possible. And to that end Find is an important tool in my toolbox. In this post, I’ll breeze over the basic Find features everyone should already be using, and then dive deeper into a few scenarios for using more advanced Find options called HTML Rules.&lt;/P&gt;
&lt;H2&gt;Simple search is the tip of the Find iceberg&lt;/H2&gt;
&lt;P&gt;The basic operation of the Find tool in Expression Web is simple: hit Ctrl+F on your keyboard and the Find and Replace dialog pops up. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Find and Replace dialog box in Expression Web" border=0 alt="Find and Replace dialog box in Expression Web" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/01%20find%20dialog_1.jpg" width=500 height=366 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/01%20find%20dialog_1.jpg"&gt; &lt;/P&gt;
&lt;P&gt;From here you enter the string you want to find and click either Find Next or Find All. Using Find in this manner is an efficient way to dig through your long pages. For bigger problems that reside throughout multiple pages, read on&lt;/P&gt;
&lt;H2&gt;Simple search across multiple pages&lt;/H2&gt;
&lt;P&gt;The majority of my work revolves around WordPress which is a fairly small CMS. Even so the current installation of WordPress running on this computer contains an astounding 3,475 files sorted in 375 folders. Finding a particular string of code in that pile of files by opening and searching each page one at a time would take hours if not days even if I managed to narrow down my search to just a few folders. Solution: select the “All pages” option to search every page in your site. If you are searching text that appears in the code of your page, make sure “Find in source code” is also selected in the Advanced column.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title='"All pages" and "Find in source code" options in the Find and Replace dialog box in Expression Web' border=0 alt='"All pages" and "Find in source code" options in the Find and Replace dialog box in Expression Web' src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/02%20find%20in%20all%20pages_1.jpg" width=500 height=366 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/02%20find%20in%20all%20pages_1.jpg"&gt; &lt;/P&gt;
&lt;H3&gt;Example of simple search saving me an extraordinary amount of work&lt;/H3&gt;
&lt;P&gt;While working on a site I discovered that the WordPress function called wp_list_pages() wasn’t really doing what I wanted it to. To get it to work for my purposes I needed to find the file in which that function was defined but I also needed to know if there were any other elements currently using that function that would be affected by any change I made. In other words I needed to sort through my 3,475 files and find every instance where the string “wp_list_pages” showed up.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Find 1 panel with search results" border=0 alt="Find 1 panel with search results" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/03%20find%20results_1.jpg" width=500 height=278 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/03%20find%20results_1.jpg"&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;From these search results in the Find panel, I was able to ascertain not only where the original function was defined – the very first Find result in wp-includes/post-template.php – but I now also had a clear idea of exactly what other pages would be affected if I were to change the function. Since the search produced 109 results in 72 pages and only 5 of these were the original function definition, it’s safe to say altering the original function was not the best idea so I decided to write a new function with a new name based on the original. To get to the original function all I had to do was double-click on the search result and Expression Web opened up the file and highlighted the entry I was looking for.&lt;/P&gt;
&lt;H3&gt;Example of replacing what you find&lt;/H3&gt;
&lt;P&gt;Under my current WordPress work environment I have 20 individual themes I’m working on. Each theme controls the look and functionality of a separate site. In each of the themes there is a file called sidebar.php that defines what the sidebar should look like. This template is called by a custom WordPress function called get_sidebar() and shows up in all the templates as &amp;lt;?php get_sidebar() ?&amp;gt;. What if I wanted to change these function calls to a more generic php include function? A quick Find of the string “get_sidebar” tells me there are 213 occurrences of the function call in 213 pages so that’s a lot of work. Unless I use Find and Replace. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Replace tab in the Find and Replace dialog box" border=0 alt="Replace tab in the Find and Replace dialog box" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/04%20replace%20all_1.jpg" width=500 height=366 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/04%20replace%20all_1.jpg"&gt; &lt;/P&gt;
&lt;P&gt;I hit Ctrl+F to open the Find and Replace dialog, and then I click the Replace tab. In the Find what box I enter the target string &amp;lt;?php get_sidebar() ?&amp;gt; and in the Replace with box I enter the new string &amp;lt;?php include ('fileName.php'); ?&amp;gt; . If you have more than one page selected in your site or if you check the “All pages” option, the Find and Replace dialog also provides the Replace All or Find All buttons. To make a sweeping change of all the calls to the get_sidebar() function I clicked the Replace All button and Expression Web made the substitutions on 213 pages for me in less than 30 seconds. The only thing I have to worry about is making sure I replaced the right function with the right new function.&lt;/P&gt;
&lt;H2&gt;Use HTML Rules for targeted searches&lt;/H2&gt;
&lt;P&gt;So far we’ve looked at simple text searches. But from time to time you may need to do more specific searches to dig out particular instances of a query. For example, you may want to find only those links that have particular attributes, or content wrapped with a specific tag within a certain part of your site. Using global search for this is not particularly productive because you may end up sifting through hundreds or thousands of search results. To help you zero in on what you are looking for, Expression Web lets you apply HTML Rules to your search, which enable you to include or exclude results based on conditions you specify.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="HTML Rules dialog box in Expression Web 3" border=0 alt="HTML Rules dialog box in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/05%20HTML%20Rules%20dialog_3.jpg" width=500 height=349 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/05%20HTML%20Rules%20dialog_3.jpg"&gt; &lt;/P&gt;
&lt;P&gt;Once you’ve entered your search term in the Find and Replace dialog, click on the HTML Rules button to open the HTML Rules dialog. From here you can define a single or a series of conditions, nested or individual, to refine your search. To add a condition click New rule and a drop-down menu appears. The drop-down menu gives you the basic conditions you can use: With Attribute, Without Attribute, Containing, Not Containing, Inside Tag and Not Inside Tag. These are all Boolean (true or false) conditions. To see how it works in the real world consider the following two examples.&lt;/P&gt;
&lt;H3&gt;HTML Rules Example 1: Target nested list items only in the sidebar&lt;/H3&gt;
&lt;P&gt;Most websites, including Wordpress blogs, have separate sections including a header, content, sidebar, and footer plus others. Let’s say I want to add a class to all the individual list items in my Wordpress sidebar. But there are two problems: First of all, there are other lists outside the sidebar area in my page, so those lists need to be excluded. Secondly, my sidebar actually features two sets of nested unordered lists. So to target only the list items I want, I need to create a condition that finds only the list items contained in the sidebar and then only those that are nested within another list item. &lt;/P&gt;
&lt;P&gt;To make this conditional search, I click the HTML Tags tab in the Find and Replace dialog, and select “&lt;B&gt;li&lt;/B&gt;” in the &lt;B&gt;Find tag &lt;/B&gt;menu. In the &lt;B&gt;Replace action menu&lt;/B&gt;, I select &lt;B&gt;Set attribute value&lt;/B&gt;. This reveals two new options in the dialog. For &lt;B&gt;Attribute&lt;/B&gt; select &lt;B&gt;class&lt;/B&gt; and in &lt;B&gt;To&lt;/B&gt; write “&lt;B&gt;newClass&lt;/B&gt;”. This will add “class=”newClass” to each of the list items found. &lt;/P&gt;
&lt;P&gt;With the query and variables defined the HTML Rules button is available. I click HTML Rules to open the HTML Rules dialog and select &lt;B&gt;New rule&lt;/B&gt;. First I need to target only the list items within my sidebar. The sidebar is contained within a div with the id “sidebar” so the first condition should be &lt;B&gt;Inside tag&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;This reveals a new drop-down where I can define my target tag, in this case &lt;B&gt;div&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;Under the rule I just created there is now a new indented &lt;B&gt;New rule&lt;/B&gt; option that lets me make a sub-rule. I set the condition to &lt;B&gt;With attribute&lt;/B&gt;, the attribute to &lt;B&gt;id&lt;/B&gt;, the next box to &lt;B&gt;equals&lt;/B&gt; and the last box to &lt;B&gt;sidebar&lt;/B&gt;. Combined these two rules will now target only instances of the &amp;lt;li&amp;gt; tag that are housed within a &amp;lt;div id=”sidebar”&amp;gt; tag.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Settings in HTML Rules dialog box" border=0 alt="Settings in HTML Rules dialog box" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/07%20rule%20defined_3.jpg" width=495 height=423 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/07%20rule%20defined_3.jpg"&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;To target only list items within list items, I also need to create a new rule with the condition &lt;B&gt;Inside tag&lt;/B&gt; and the tag set to &lt;B&gt;li&lt;/B&gt;. After clicking OK in the HTML Rules dialog box, my two rules appear in the Find and Replace dialog box.&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="HTML Rules in the Find and Replace dialog box" border=0 alt="HTML Rules in the Find and Replace dialog box" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/08%20rules%20applied_3.jpg" width=500 height=230 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/08%20rules%20applied_3.jpg"&gt;&lt;/P&gt;
&lt;P&gt;When I click Find Next, Expression Web finds only the list items that are children of another list item that is housed inside the div with the id #sidebar. Since this is a conditional search and replace (or in this case find and add attribute) by clicking Replace I add the &lt;B&gt;.newClass&lt;/B&gt; class to only these list items.&lt;/P&gt;
&lt;P&gt;Warning: The HTML Rules you create will apply to all of your subsequent searches within the same document until you either alter the HTML Rules or click the &lt;B&gt;Clear Rules&lt;/B&gt; button in the Find and Replace dialog box. &lt;/P&gt;
&lt;H3&gt;HTML Rules Example 2: Find links with missing title attributes&lt;/H3&gt;
&lt;P&gt;HTML Rules also lets you search for things that are missing, such as required attributes. For a web page to be fully accessible, all hyperlinks require a title attribute to generate ScreenTips. Let’s say you noticed that some of your category links that start off each of your articles don’t have the necessary title attribute. Searching for this missing attribute is hard because your pages will likely be littered with hyperlinks in the header, sidebar and footer as well as within each post. What’s needed is a set of HTML Rules that target only the article heads, and only links without the title attribute. &lt;/P&gt;
&lt;P&gt;The easiest way to come up with the correct set of HTML Rules is to spell your search out by answering this question: What are you looking for? In this case the answer is: I am looking for all the links (a tags) that don’t have the title attribute that are contained within divs with the class .meta-tag.&lt;/P&gt;
&lt;P&gt;Hit Ctrl+F to open the Find and Replace dialog and select the HTML Tags tab. Set &lt;B&gt;Find tag&lt;/B&gt; to &lt;B&gt;a&lt;/B&gt; and &lt;B&gt;Replace action&lt;/B&gt; to &lt;B&gt;(none)&lt;/B&gt;. If any HTML Rules are currently in effect click the Clear Rules button to remove them. &lt;/P&gt;
&lt;P&gt;Click HTML Rules to open the HTML Rules dialog and create a &lt;B&gt;New rule&lt;/B&gt;. As the answer said earlier you are looking for all the a tags with a missing title attribute so in the condition select &lt;B&gt;Without attribute&lt;/B&gt; and set the attribute to &lt;B&gt;title&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;To search only within divs with the class .meta-tag create a new rule, set the condition to &lt;B&gt;Inside tag&lt;/B&gt; and the tag to &lt;B&gt;div&lt;/B&gt;. Create a new sub-rule and set the condition to &lt;B&gt;With attribute&lt;/B&gt;, the attribute to &lt;B&gt;class&lt;/B&gt;, leave the next box on &lt;B&gt;equals&lt;/B&gt; and type out the value &lt;B&gt;entry-meta&lt;/B&gt;. With the HTML Rules defined click OK to close the dialog and click Find Next to search your page. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Settings in HTML Rules dialog box" border=0 alt="Settings in HTML Rules dialog box" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/09%20search%20for%20missing%20attribute_3.jpg" width=495 height=428 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/09%20search%20for%20missing%20attribute_3.jpg"&gt; &lt;/P&gt;
&lt;P&gt;As with the examples earlier in this article HTML Rules searches can be done on the current document, selected pages or all pages in the site. Combined these techniques along with some smart find strategies makes this an enormously powerful tool.&lt;/P&gt;
&lt;H2&gt;Save your query&lt;/H2&gt;
&lt;P&gt;If you’ve made an unusually complicated set of HTML Rules you might want to tweak later and reuse, or you have a Find and/or Replace query you know you will need again, save&amp;nbsp; your search query by clicking the Save icon in the Find and Replace dialog. &lt;/P&gt;
&lt;H2&gt;Make Find a part of your work process&lt;/H2&gt;
&lt;P&gt;Find is one of those tools you have to use a few times before you realize its full potential. Off the bat it just looks like any old find and replace text tool, but when you start using it you’ll quickly realize its way more capable than that, especially if you work with larger sites or ones you didn’t code yourself. There are caveats of course, most importantly that if you make sweeping site-wide changes to your code like in my last example you better make sure you are targeting the right string and replacing it with the correct one, otherwise you can do a lot of damage with a single mouse click.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.designisphilosophy.com/" target=_blank mce_href="http://www.designisphilosophy.com/"&gt;Morten Rand-Hendriksen&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blog.pinkandyellow.com/about/" target=_blank mce_href="http://blog.pinkandyellow.com/about/"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Morten Rand-Hendriksen" border=0 alt="Morten Rand-Hendriksen" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/morten_3.jpg" width=94 height=110 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/FindtherealpowersofFind_F7B2/morten_3.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10004228" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+2/">version 2</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category></item><item><title>Different types of hyperlinks</title><link>http://blogs.msdn.com/b/xweb/archive/2010/04/26/different-types-of-hyperlinks.aspx</link><pubDate>Mon, 26 Apr 2010 17:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10002680</guid><dc:creator>ToddMo</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=10002680</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/04/26/different-types-of-hyperlinks.aspx#comments</comments><description>&lt;P&gt;There are three types of links that can be used in a web page: relative, and site root relative, and absolute.&amp;nbsp; Which one is correct to use depends on the location of the page to which it links.&lt;/P&gt;
&lt;H2&gt;Relative Links&lt;/H2&gt;
&lt;P&gt;A relative link points to a location that is relative to the current page.&amp;nbsp; Having a link to “index.html” is a relative link that points to the “index.html” page in the same directory as the current page.&amp;nbsp; Links can also be made to “../index.html” to go to “index.html” in the parent directory.&amp;nbsp; You can also use links like “../images/mypic.jpg” to find an image in the images directory inside the parent directory of the current page.&lt;/P&gt;
&lt;P&gt;The disadvantage of using relative links is that the link can break if you move a file to another directory and thus change the relative position of the link’s destination.&amp;nbsp; If you move the file from within Expression Web, however, it will automatically fix all relative links for you (as long as you have site metadata turned on).&lt;/P&gt;
&lt;P&gt;Expression Web uses relative links as the default when creating a new hyperlink.&lt;/P&gt;
&lt;H2&gt;Site Root-Relative Links&lt;/H2&gt;
&lt;P&gt;A site root-relative link points to a location that is relative to the root directory of the site.&amp;nbsp; They begin with a slash “/”.&amp;nbsp; Having a link to “/index.html” is a site root-relative link that points to the “index.html” page in the root directory of the site.&amp;nbsp; One common use of this is to have all images in an images directory and then to link to images with links like “/images/mypic.jpg”.&lt;/P&gt;
&lt;P&gt;The advantage of doing this is that the link stays the same no matter what directory the current page is in.&amp;nbsp; This is also frequently used for linking in CSS files.&lt;/P&gt;
&lt;P&gt;Expression Web started fully supporting site root-relative links in Version 3, Service Pack 1.&amp;nbsp; Starting in that version, pages with site root-relative links are shown correctly in the design view.&amp;nbsp; Expression Web will also correctly fix your links if you move a file that is linked to with a site root-relative link if you move the file within Expression Web (again, as long as you have site metadata turned on).&lt;/P&gt;
&lt;P&gt;Note that you may get unexpected results when you use Preview in Browser from within Expression Web.&amp;nbsp; This is because your browser shows your page from a local file – something like “C:\Users\myName\Documents\My Web Sites\mysite\index.html”.&amp;nbsp; For a site root-relative link, your browser doesn’t know which directory to use for the site’s root so it will simply use “C:\”.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There is a simple solution to this problem, though.&amp;nbsp; In the Site menu of Expression Web, open up Site Settings and click on the Preview tab.&amp;nbsp; Make sure “Use Microsoft Expression Development Server” is checked, select “For all web pages”, and hit OK.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;IMG border=0 src="http://blogs.msdn.com/photos/template/images/10003233/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Now when you hit Preview in Browser, it will use an &lt;A href="http://localhost/" mce_href="http://localhost"&gt;http://localhost&lt;/A&gt; address that has the site’s root set correctly and your site root-relative links will work correctly in your browser.&lt;/P&gt;
&lt;H2&gt;Absolute Links&lt;/H2&gt;
&lt;P&gt;An absolute link is simply one that includes the entire path to the file like &lt;A href="http://www.contoso.com/news/index.html" mce_href="http://www.contoso.com/news/index.html"&gt;“http://www.contoso.com/news/index.html&lt;/A&gt;”.&amp;nbsp; These are generally used for links that need to point to a different site than the one on which your page is located.&lt;/P&gt;
&lt;P&gt;Expression Web supports these links as well.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/Differenttypesofhyperlinks_B375/toddmo_49351105062009_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/Differenttypesofhyperlinks_B375/toddmo_49351105062009_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=toddmo_49351105062009 border=0 alt=toddmo_49351105062009 src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/Differenttypesofhyperlinks_B375/toddmo_49351105062009_thumb.jpg" width=85 height=104 mce_src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/Differenttypesofhyperlinks_B375/toddmo_49351105062009_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Todd Moscinski, Senior Software Development Engineer&lt;/P&gt;
&lt;P&gt;Microsoft Expression Web&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10002680" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/bugs/">bugs</category></item><item><title>Service Pack 2 for Expression Web 3</title><link>http://blogs.msdn.com/b/xweb/archive/2010/04/06/service-pack-2-for-expression-web-3.aspx</link><pubDate>Tue, 06 Apr 2010 20:33:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9991363</guid><dc:creator>Anna Ullrich</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9991363</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/04/06/service-pack-2-for-expression-web-3.aspx#comments</comments><description>&lt;p&gt;The team has released a &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=4e80cbeb-a206-400f-bf7b-e8d51acbc76e" target="_blank"&gt;second free service pack&lt;/a&gt; for Expression Web 3, which provides the following improvements: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The SuperPreview feature now supports Firefox 3.6. If Firefox 3.6 is installed on your      &lt;br /&gt;computer, it will be available in SuperPreview.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;When editing PHP files, you may have been asked to update&amp;#160; related hyperlinks on the page. If you did so, some PHP tags may have been removed. PHP tags are no longer removed when you update related hyperlinks.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;When you renamed a PDF file from the Folder List panel, the PDF file&amp;#160; &lt;br /&gt;became corrupted and could not be opened. PDF files now save normally.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Expression Web 3 would crash if the list-style-image property&amp;#160; &lt;br /&gt;was used in a CSS file. Using the list-style-image property in a CSS file no&amp;#160; &lt;br /&gt;longer causes Expression Web to crash.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;SuperPreview sometimes crashed while launching because of a&amp;#160; &lt;br /&gt;problem that occurred when locating Firefox on your computer. SuperPreview&amp;#160; &lt;br /&gt;no longer crashes while locating Firefox. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can install &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=4e80cbeb-a206-400f-bf7b-e8d51acbc76e" target="_blank"&gt;Service Pack 2&lt;/a&gt; if you have Expression Web 3 or Expression Web 3 Service Pack 1 installed on your computer.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9991363" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category></item><item><title>Using an Access 2007 database with ASP.NET 3.5 and Expression Web 3</title><link>http://blogs.msdn.com/b/xweb/archive/2010/03/29/using-an-access-2007-database-with-asp-net-3-5-and-expression-web-3.aspx</link><pubDate>Mon, 29 Mar 2010 21:58:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9987052</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9987052</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/03/29/using-an-access-2007-database-with-asp-net-3-5-and-expression-web-3.aspx#comments</comments><description>&lt;p&gt;One question that we occasionally hear from Expression Web users is “How do I use my Access 2007 database on my ASP.NET site?”&lt;/p&gt;  &lt;p&gt;First, the not so great news: Expression Web 3 supports ASP.NET 2.0, 3.0, and 3.5. These versions of ASP.NET do not support Access 2007 data connections. &lt;/p&gt;  &lt;p&gt;Now, the great news: ASP.NET 4.0 supports these data connections – and Expression Web 4 (not yet released) supports ASP.NET 4.0. Even better – as we announced at the MIX 2010 Conference, if you have purchased Expression Web 3, you will get Expression Web 4 for free! (See &lt;a href="http://www.microsoft.com/Expression/products/Upgrade.aspx" target="_blank"&gt;here&lt;/a&gt; for details).&lt;/p&gt;  &lt;p&gt;Until Expression Web 4 is available, you can use the following steps to use your Access 2007 database in a site in Expression Web 3.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First, your system and server must have the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&amp;amp;displaylang=en" target="_blank"&gt;2007 Office System Driver: Data Connectivity Components&lt;/a&gt; installed. Many ASP.NET hosts have this installed, such as &lt;a href="http://community.discountasp.net/showthread.php?t=8856" target="_blank"&gt;DiscountASP&lt;/a&gt;. Once this is installed, you’re ready to start working.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Drag a &lt;b&gt;SqlDataSource&lt;/b&gt; control from the Toolbox panel and drop it into the Design view of your page. (The SqlDataSource control is under the Data category in the section of ASP.NET controls,)      &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Design view of a SQLDataSource control in a page in Expression Web 3" border="0" alt="Design view of a SQLDataSource control in a page in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_3.png" width="336" height="274" /&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;In the Design view of your page, next to the SqlDAtaSource control, click &lt;b&gt;Configure Data Source&lt;/b&gt;.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;On the Choose your Data Connection screen, click &lt;b&gt;New Connection&lt;/b&gt;.      &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Choose Your Data Connection screen in Expression Web 3" border="0" alt="Choose Your Data Connection screen in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_6.png" width="500" height="135" /&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;In the Choose Data Source screen, set Data Source to &lt;b&gt;&amp;lt;other&amp;gt;,&lt;/b&gt; and Data Provider to .&lt;b&gt;NET Framework Data Provider for OLE DB,&lt;/b&gt; and click OK.      &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Choose Data Source screen in Expression Web 3" border="0" alt="Choose Data Source screen in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_9.png" width="396" height="232" /&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;In the Connections Properties dialog, click the &lt;strong&gt;OLE DB Provider&lt;/strong&gt; menu and&amp;#160; select &lt;strong&gt;Microsoft Office 12.0 Access Database Engine OLE DB Provider&lt;/strong&gt;. In the Server or file name box, enter the full path to your database, and then click Test Connection”. If your test connection succeeded, you’re on the right path so far! Click OK in the Connection Properties dialog, and then click Next in the Configure Data Source dialog.      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_12.png" width="315" height="400" /&gt;&amp;#160; &lt;/li&gt;    &lt;blockquote&gt;     &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: If you just installed the 2007 Office Driver: Data Connectivity Components you’ll need to restart Expression Web 3 before you see “Microsoft Office 12.0 Access Database Engine OLE DB Provider” in the list. Also, you may need to modify your “Server or file name:” information once you upload your site to a server.&lt;/p&gt;   &lt;/blockquote&gt;    &lt;li&gt;Save your new Connection String and click Next.      &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Configure Data Source dialog in Expression Web 3" border="0" alt="Configure Data Source dialog in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_15.png" width="406" height="341" /&gt;&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;p&gt;Now it’s time to configure the query for your database connection.&lt;/p&gt;    &lt;li&gt;Select the columns you want to display from your database, and click Next. In my example, I selected Amount, DonorName, and CampaignName.     &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Configure the Select Statement screen in Expression Web 3" border="0" alt="Configure the Select Statement screen in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_18.png" width="376" height="316" /&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;Click Test Query. If the test was successful, then click Finish.     &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Test Query screen in Expression Web 3" border="0" alt="Test Query screen in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_21.png" width="433" height="364" /&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;p&gt;Now you’re ready to add any ASP.NET data control to your page and set up the control to your the data source you just added to the page. In the following screensheet, you can see the GridView control that I placed on my page and set to use my SqlDataSource1 data source.     &lt;br /&gt;      &lt;br /&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="GridView control in the Design view of a page in Expression Web 3" border="0" alt="GridView control in the Design view of a page in Expression Web 3" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_24.png" width="387" height="277" /&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;And now I’ll preview my page in SuperPreview to make sure the data is displaying as I want.&lt;/p&gt;    &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SuperPreview rendering of the page." border="0" alt="SuperPreview rendering of the page." src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/image_27.png" width="500" height="385" /&gt; &lt;/p&gt;    &lt;p&gt;Once Expression Web 4 is available, I’ll write a follow-up post with the (much easier!) steps on how to use an Access 2007 database as a data source in your site.&lt;/p&gt;    &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dd560693_JustinHarrison(en-us)" border="0" alt="dd560693_JustinHarrison(en-us)" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/UsinganAccess2007data.5andExpressionWeb3_B0E4/dd560693_JustinHarrison(en-us)_3.png" width="214" height="240" /&gt; &lt;/p&gt;    &lt;p&gt;Justin Harrison, Program Manager     &lt;br /&gt;Microsoft Expression Web&lt;/p&gt; &lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9987052" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/ASP-NET/">ASP.NET</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category></item><item><title>Styling MySpace profile page using Expression Web Part 2</title><link>http://blogs.msdn.com/b/xweb/archive/2010/03/24/styling-myspace-profile-page-using-expression-web-part-2.aspx</link><pubDate>Wed, 24 Mar 2010 21:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9984672</guid><dc:creator>sayuri</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9984672</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/03/24/styling-myspace-profile-page-using-expression-web-part-2.aspx#comments</comments><description>&lt;P&gt;In Part 1 of this blog post topic, I covered the following steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Clear the default page background and table borders&lt;/LI&gt;
&lt;LI&gt;Set the custom background color and image&lt;/LI&gt;
&lt;LI&gt;Set the background color for the context boxes tables&lt;/LI&gt;
&lt;LI&gt;Set the text color and size&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;At the end of the 4 steps above, my profile page looks like this. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 533px; HEIGHT: 320px" align=left src="http://blogs.msdn.com/photos/template/images/9984649/original.aspx" width=850 height=531 mce_src="http://blogs.msdn.com/photos/template/images/9984649/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this blog post, I'm going to share how to style the text in the two content areas highlighted in green. For the content area on the left, I use the following css to style the profile name. In my example, the text would be "Pei Pei".&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=courier&gt;
&lt;P&gt;.nametext {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; display:table;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:cccccc;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 16px;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Trebuchet MS;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left:10px;&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is how the result looks like:&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/template/images/9984655/original.aspx" mce_src="http://blogs.msdn.com/photos/template/images/9984655/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Next, we want to style the "music type" text below the profile name. In this case the "Indie/Pop/Rock" that is hardly legible. I use the follow css:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=courier&gt;
&lt;P&gt;td.text strong{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:cccccc;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size: 12px;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-family: Trebuchet MS;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left:10px;&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This is how the result looks like:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG src="http://blogs.msdn.com/photos/template/images/9984663/original.aspx" mce_src="http://blogs.msdn.com/photos/template/images/9984663/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Next, I use the following css to style the title in the Blog Entry content area:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=courier&gt;
&lt;P mce_keep="true"&gt;btext {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; color:cccccc;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; font-size:9pt;&lt;BR&gt;}&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;This is how the result looks like:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG src="http://blogs.msdn.com/photos/template/images/9984677/original.aspx" mce_src="http://blogs.msdn.com/photos/template/images/9984677/original.aspx"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The downside of styling it this way also style the text in the Friend Space content area. But I prefer to hide that content area anyway.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 254px; HEIGHT: 66px" src="http://blogs.msdn.com/photos/template/images/9984676/original.aspx" width=254 height=66 mce_src="http://blogs.msdn.com/photos/template/images/9984676/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I used the following css to hide it:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face=courier&gt;
&lt;P mce_keep="true"&gt;table.friendSpace {&lt;BR&gt;display:none;&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;That's all for this blog post. In the next post, I'll share how to customize the&amp;nbsp;Contacting &amp;lt;Profile Name&amp;gt; content area.&lt;/P&gt;
&lt;P&gt;&lt;A title="Sayuri's Profile on Inside Expression" href="http://expression.microsoft.com/en-us/dd877223.aspx" target=_blank mce_href="http://expression.microsoft.com/en-us/dd877223.aspx"&gt;&lt;STRONG&gt;Sayuri Wijaya Gould&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;Program Manager in Expression Web&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9984672" width="1" height="1"&gt;</description></item><item><title>Styling MySpace profile page using Expression Web Part 1</title><link>http://blogs.msdn.com/b/xweb/archive/2010/03/18/styling-myspace-sites-using-expression-web-part-1.aspx</link><pubDate>Thu, 18 Mar 2010 18:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9981383</guid><dc:creator>sayuri</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9981383</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/03/18/styling-myspace-sites-using-expression-web-part-1.aspx#comments</comments><description>&lt;P&gt;As most of you already know, MySpace.com is a popular social networking Web site where individuals, bands/musicians and businesses can have a presence on the Internet without the need to have their own Web site. It's very easy to create a profile on MySpace and it's easy to "skin" the public profile page by using one of the themes provided&amp;nbsp;on MySpace or by applying one of the many profile page theme templates available on the internet. However, to customize the profile page theme beyond that is not a straightforward task. &lt;/P&gt;
&lt;P&gt;Recently, I created a musician profile for myself on MySpace. Since I'm in the Web design/development industry, I couldn't live with the&amp;nbsp;Myspace profile theme templates available on the internet. MySpace doesn't provide themes for musician profile anyway. I want to fully customize my profile page look &amp;amp; feel so that it reflect me and my music 100% or as close as my design ability allows me to. So I started looking around for ways that I can do that. From reading postings on the internet, I learned that styling a MySpace profile page is all about overwriting the default CSS. It's very similar to styling a SharePoint site or a Blogger site. After I wrestled with MySpace CSS for about a week, I thought I'd share what I learned so that. hopefully, other MySpace users can style their profile page in a shorter amount of time that I took.&lt;/P&gt;
&lt;P&gt;There is a lot to share on this topic so I'm going to split the content up into multiple blog posts. In this blog post, I'm going to show you how to set a background image, background&amp;nbsp;color and text color&amp;nbsp;to your MySpace profile page. In the upcoming blog posts, I'm going to show you how to tweak the style in more detail by adding padding and by creating custom contact table.&lt;/P&gt;
&lt;P&gt;My profile looks like this before I customize it:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 555px; HEIGHT: 573px" border=1 src="http://blogs.msdn.com/photos/template/images/9981438/original.aspx" width=823 height=786 mce_src="http://blogs.msdn.com/photos/template/images/9981438/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;I created a background image and I uploaded it to my 3rd party hosting account. Then I use the following CSS to set the background color and image for my profile page:&lt;/P&gt;&lt;FONT face=courier&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;style&amp;gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;body, .bodyContent {&lt;BR&gt;&amp;nbsp;background-color: 000000;&lt;BR&gt;&amp;nbsp;background-image: url('http://www.yourhostingdomain.com/floral_background.jpg');&lt;BR&gt;&amp;nbsp;background-position: Center;&lt;BR&gt;&amp;nbsp;background-attachment:scroll;&lt;BR&gt;&amp;nbsp;background-repeat: repeat-y;&lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/style&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P&gt;To apply it to my profile page, I have to do a little hack since for a musician profile, MySpace doesn't provide any user interface for me to apply custom CSS. So I clicked on Profile -&amp;gt; Edit Profile on the top navigation. Then I clicked on the Musician Profile tab. &lt;/P&gt;
&lt;P&gt;&lt;IMG border=1 src="http://blogs.msdn.com/photos/template/images/9981490/original.aspx" mce_src="http://blogs.msdn.com/photos/template/images/9981490/original.aspx"&gt;&amp;nbsp;&lt;IMG style="WIDTH: 693px; HEIGHT: 168px" border=1 src="http://blogs.msdn.com/photos/template/images/9981494/original.aspx" width=693 height=168 mce_src="http://blogs.msdn.com/photos/template/images/9981494/original.aspx"&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Then I clicked on the Edit link for the Musician&amp;nbsp;Bio field and pasted the code above into that field. After I submitted the changes, my profile page looks like this:&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 791px; HEIGHT: 489px" src="http://blogs.msdn.com/photos/template/images/9981506/original.aspx" width=793 height=768 mce_src="http://blogs.msdn.com/photos/template/images/9981506/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;As you can see, the background image has been applied but the white background for the middle section still applies. So I used the following CSS, in &lt;STRONG&gt;bold&lt;/STRONG&gt;,&amp;nbsp;to clear the background:&lt;/P&gt;&lt;FONT face=courier&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;lt;style&amp;gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;table, tr, td { &lt;BR&gt;&amp;nbsp;background-color:transparent; &lt;BR&gt;&amp;nbsp;border-style:none; &lt;BR&gt;&amp;nbsp;border-collapse:collapse;&lt;BR&gt;&amp;nbsp;background-image:none;&lt;BR&gt;}&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;body, .bodyContent {&lt;BR&gt;&amp;nbsp;background-color: 000000;&lt;BR&gt;&amp;nbsp;background-image: url('http://www.yourhostingdomain.com/floral_background.jpg');&lt;BR&gt;&amp;nbsp;background-position: Center;&lt;BR&gt;&amp;nbsp;background-attachment:scroll;&lt;BR&gt;&amp;nbsp;background-repeat: repeat-y;&lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/style&amp;gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;After I added the above block of markup&amp;nbsp;into the Musician Bio field, my profile page looks like this:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 577px; HEIGHT: 536px" border=1 src="http://blogs.msdn.com/photos/template/images/9981511/original.aspx" width=847 height=771 mce_src="http://blogs.msdn.com/photos/template/images/9981511/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now the white background is cleared but the text is illegible. So we have to set the background color for the content boxes. I used the following CSS to set the background color for the context boxes tables.&lt;/P&gt;&lt;FONT face=courier&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;table table table {&lt;BR&gt;&amp;nbsp;&amp;nbsp;border-style: solid;&lt;BR&gt;&amp;nbsp;&amp;nbsp;border-width: 1px;&lt;BR&gt;&amp;nbsp;&amp;nbsp;border-color: #FF9999;&lt;BR&gt;&amp;nbsp;&amp;nbsp;background-color: #800000;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;table table table table {&lt;BR&gt;&amp;nbsp;&amp;nbsp;background-color: #800000;&lt;BR&gt;&amp;nbsp;&amp;nbsp;border-style: none;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;And the following CSS to set the text color and size.&lt;/P&gt;&lt;FONT face=courier&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;body, .bodyContent,table , tr, td, li, p, div {&lt;BR&gt;&amp;nbsp;&amp;nbsp;color: cccccc;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;a:link {&lt;BR&gt;&amp;nbsp;&amp;nbsp;color: ff6600;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;a:hover {&lt;BR&gt;&amp;nbsp;&amp;nbsp;color: cc3300;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;a:visited {&lt;BR&gt;&amp;nbsp;&amp;nbsp;color:lime;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;EM&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; Paste the&amp;nbsp;last two blocks of CSS markup after the first two blocks.&lt;/EM&gt; 
&lt;P mce_keep="true"&gt;And now my profile page looks like this:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 569px; HEIGHT: 534px" border=1 src="http://blogs.msdn.com/photos/template/images/9981517/original.aspx" width=868 height=770 mce_src="http://blogs.msdn.com/photos/template/images/9981517/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now my profile page looks much better. But we can still tweak the style by adding padding in some areas. I'll cover that in the next blog post. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG src="http://blogs.msdn.com/photos/template/images/9981520/original.aspx" mce_src="http://blogs.msdn.com/photos/template/images/9981520/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A title="Sayuri's Profile on Inside Expression" href="http://expression.microsoft.com/en-us/dd877223.aspx" target=_blank mce_href="http://expression.microsoft.com/en-us/dd877223.aspx"&gt;&lt;STRONG&gt;Sayuri Wijaya Gould&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;Program Manager in Expression Web&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9981383" width="1" height="1"&gt;</description></item><item><title>Increase your search rankings with better web page titles </title><link>http://blogs.msdn.com/b/xweb/archive/2010/03/11/increase-your-search-rankings-with-better-web-page-titles.aspx</link><pubDate>Fri, 12 Mar 2010 01:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9977253</guid><dc:creator>Anna Ullrich</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9977253</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/03/11/increase-your-search-rankings-with-better-web-page-titles.aspx#comments</comments><description>&lt;P&gt;Are you still waiting for a flood of visitors to find your site? Wondering if you need to invest in some online ads or an SEO specialist? Before you do any heavy lifting, first try the simple task of reviewing the titles of your web pages for their search relevance. I&amp;nbsp;just published the following&amp;nbsp;post to&amp;nbsp;introduce you to&amp;nbsp;one basic SEO concept&amp;nbsp;and also show all of the options for efficiently reviewing and editing web page titles in Expression Web.&lt;/P&gt;
&lt;P&gt;Read the entire post here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/anna/archive/2010/03/11/increase-your-search-rankings-with-better-web-page-titles.aspx"&gt;http://blogs.msdn.com/anna/archive/2010/03/11/increase-your-search-rankings-with-better-web-page-titles.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Anna Ullrich&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9977253" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/Expression+Web/">Expression Web</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/browsers/">browsers</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/tutorials/">tutorials</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+2/">version 2</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/development/">development</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/SEO/">SEO</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/version+3/">version 3</category></item><item><title>Hot or Not? HTML 5</title><link>http://blogs.msdn.com/b/xweb/archive/2010/02/09/hot-or-not-html-5.aspx</link><pubDate>Tue, 09 Feb 2010 22:54:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9960847</guid><dc:creator>Expression Web Team</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9960847</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/02/09/hot-or-not-html-5.aspx#comments</comments><description>&lt;p&gt;If you’re a web developer, you’ve probably heard a lot about &lt;a title="World Wide Web Consortium&amp;#39;s site on HTML 5" href="http://dev.w3.org/html5/spec/Overview.html" target="_blank"&gt;HTML 5&lt;/a&gt;, the all-in-one standard to replace HTML 4.01, XHTML 1.0, and DOM Level 2 HTML. The HTML 5 specification is a 500+ page tome that explains in precise detail every element, attribute and feature that’ll power the next generation of Web applications - part documentation of what already makes the Web work today and part innovation.&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Hot or Not?" border="0" alt="Hot or Not?" align="right" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/HotorNotHTML5_D1AE/hotcold2_3.png" width="310" height="150" /&gt;&amp;#160; What better way to look at HTML 5 and the future of the Web than through a vestige of the old Web: What parts of HTML 5 are &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot&lt;/strong&gt;&lt;/font&gt;…or &lt;font color="#00ffff"&gt;&lt;strong&gt;Not&lt;/strong&gt;&lt;/font&gt;?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The Web Hypertext Application Technology Working Group (WHATWG), founded by people from Apple, Mozilla, and Opera set out in June 2004 to figure out what was next for HTML. Six years later, we’re a bit closer to knowing what’s next, however, the W3C HTML 5 group estimates the specification won’t be complete until 2022 (or when there are complete implementations in two browsers, whichever comes first). Having to wait until 2022 to play with HTML 5? &lt;font color="#0080ff"&gt;&lt;strong&gt;&lt;font color="#00ffff"&gt;Not Hot&lt;/font&gt;&lt;font color="#ffffff"&gt;.&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt; Major &lt;a title="Web Designer&amp;#39;s Browser Support Checklist at findmebyIP.com" href="http://www.findmebyip.com/litmus/" target="_blank"&gt;browsers adding more and more support for various aspects of the HTML 5 draft&lt;/a&gt; everyday? &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot&lt;/strong&gt;&lt;/font&gt;.&lt;/p&gt;  &lt;p&gt;Most web developers use the names of classes and ids to label and identify their page structure (for example, &amp;lt;div id=”header”&amp;gt;, &amp;lt;div id=”footer”&amp;gt;). With similar objectives, HTML 5 includes new elements to define the structure of your pages, for example, &amp;lt;article&amp;gt;, &amp;lt;section&amp;gt;, &amp;lt;aside&amp;gt;, &amp;lt;footer&amp;gt;, and &amp;lt;nav&amp;gt;. Using these elements will help you semantically structure and understand your markup, and can help search bots and accessibility tools like screen readers better understand your pages. Verdict? &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot&lt;/strong&gt;&lt;/font&gt;. The &amp;lt;div&amp;gt; tag can stop being the Swiss army knife of layout.&lt;/p&gt;  &lt;p&gt;&amp;lt;Video&amp;gt; and &amp;lt;Audio&amp;gt; are two major new features in HTML 5. Now you don’t need to use Flash or Silverlight to play media. For your customers, this means not having to install plug-ins, and a consistent experience across all sites for media consumption. &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot?&lt;/strong&gt; &lt;font color="#ffffff"&gt;maybe…&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020620.html"&gt;Unfortunately, the &amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt; tags don’t define a single video or audio format for all browsers to support&lt;/a&gt; – and as a result, depending on the browser that your customer is using, they may or may not be able to watch video or listen to audio on your page. Furthermore, if you depend on advanced features in Flash and Silverlight like content protection or accessibility, you currently won’t find them in &amp;lt;video&amp;gt; and &amp;lt;audio&amp;gt;. Verdict? Until browsers settle on a de facto video and audio standard for HTML 5, &lt;font color="#80ffff"&gt;&lt;strong&gt;Not hot&lt;/strong&gt;&lt;/font&gt;. &lt;/p&gt;  &lt;p&gt;In an effort to be backwards compatible and reflect how people actually use HTML today, HTML 5 is compatible with a huge number of different coding practices. Opening and closing tags can be optional. Some elements can be self-closing. And attribute quotes are not necessarily required either. This is just the tip of the iceberg of changes you’ll run into. HTML 5 deprecates some tags, and un-deprecates others. For example, the &amp;lt;i&amp;gt; tag is back – and this time, it doesn’t represent italics. The &amp;lt;i&amp;gt; is used in dialogue to refer to text &lt;a href="http://www.w3.org/TR/2009/WD-html5-20090825/text-level-semantics.html#the-i-element"&gt;in an alternate voice or mood&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Verdict: &lt;font color="#80ffff"&gt;&lt;strong&gt;Not hot&lt;/strong&gt;&lt;/font&gt;. It’s nice that HTML 5 is bending over backwards to be backwards compatible, but the use of re-purposed deprecated tags instinctively makes my skin crawl. Plus, having so much flexibility means that markup is going to vary in style even more between pages, and it may be hard for newbs to figure out the basics while grappling with questions like, “Do I have to close this tag? Can this tag be self-closing? Do I need to use single or double quotes here? Do I even need to use them at all?”&lt;/p&gt;  &lt;p&gt;These are just a few of the new markup-based features in HTML 5 that are notable. There are countless changes in the DOM API, and still more markup based changes – like new form controls and validation (these are definitely &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot&lt;/strong&gt;&lt;/font&gt;) that enable you to specify input types, such as a phone number, and then let the browser validate it for you. &lt;/p&gt;  &lt;p&gt;Deep within the tome that is the HTML 5 draft specification there are many great changes for web designers. Just because they’re not hot now, doesn’t mean that they won’t be later! These changes just need to find their way out from &lt;font color="#00ffff"&gt;&lt;strong&gt;awkward draft stage&lt;/strong&gt;&lt;/font&gt; to final &lt;font color="#ff0000"&gt;&lt;strong&gt;Hot&lt;/strong&gt;&lt;/font&gt; specification.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a title="Justin Harrison&amp;#39;s profile on the Expression Community site" href="http://expression.microsoft.com/en-us/dd939175.aspx"&gt;Justin Harrison&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Program Manager, Microsoft Expression Web&lt;/p&gt;  &lt;p&gt;&lt;a title="Justin Harrison&amp;#39;s profile on the Expression Community site" href="http://expression.microsoft.com/en-us/dd939175.aspx"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="dd560693_JustinHarrison(en-us)" border="0" alt="dd560693_JustinHarrison(en-us)" src="http://blogs.msdn.com/blogfiles/xweb/WindowsLiveWriter/HotorNotHTML5_D1AE/dd560693_JustinHarrison(en-us)_3.png" width="214" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9960847" width="1" height="1"&gt;</description></item><item><title>SuperPreview and Firefox 3.6 release</title><link>http://blogs.msdn.com/b/xweb/archive/2010/01/22/superpreview-and-firefox-3-6-release.aspx</link><pubDate>Fri, 22 Jan 2010 19:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9952138</guid><dc:creator>Alex Moskwa</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/xweb/rsscomments.aspx?WeblogPostID=9952138</wfw:commentRss><comments>http://blogs.msdn.com/b/xweb/archive/2010/01/22/superpreview-and-firefox-3-6-release.aspx#comments</comments><description>&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;SuperPreview users probably want to know if the newly released Firefox is compatible with our application.&amp;nbsp; Currently, SuperPreview does not support Firefox 3.6 due to changes in Firefox that require engineering work on our end.&amp;nbsp; However, we made specific updates in our Expression Web 3 Service Pack 1 in preparation for precisely this circumstance.&amp;nbsp; In Service Pack 1 we added the ability to do incremental updates to our browser support outside our normal release cycle.&amp;nbsp; These changes mean we can release browser support updates in a matter of weeks rather than months.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;We've already done a lot of the necessary leg work with the Firefox 3.6 beta and RC builds.&amp;nbsp; We're waiting on some final 3.6 related items to be released from the Firefox team, then we'll enable support for Firefox 3.6 in SuperPreview.&amp;nbsp; Be on the lookout for another post to this blog when a downloadable update is available.&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;In the meantime, if you haven’t already updated, install &lt;A title="Download Expression Web 3 Service Pack 1" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=265e1fb5-ba97-4510-b607-2789ffdfd093&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=265e1fb5-ba97-4510-b607-2789ffdfd093&amp;amp;displaylang=en"&gt;Expression Web 3 Service Pack 1.&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Alex Moskwa&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Program Manager&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;Microsoft Expression Web&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9952138" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/xweb/archive/tags/FireFox/">FireFox</category><category domain="http://blogs.msdn.com/b/xweb/archive/tags/SuperPreview/">SuperPreview</category></item></channel></rss>