how to remove sitemap.aspx in dnn6 - dotnetnuke

i need to remove sitemap.aspx from the site.
In dnn 6,there is a sitemap.aspx page that simply shows an xml sitemap.i cannot edit/remove that file.so i need to remove that page and recreate it with a simple html sitemap.
NOTE:the page name should be sitemap.aspx

Sitemap.aspx isn't a physical page you can delete.
You can, however, rename it to something else. It's in your web.config file, under the 'handlers' section. Just look for sitemap.aspx, and change it to something else, like 'searchenginesitemap.aspx'. Don't forget to update your robots.txt file to point to the new sitemap name, or go to the various webmaster console pages in search engines and advise them of the new location.

The sitemap.aspx is used to create the xml sitemap for search engines. By changing this you break this functionality and limit the search-ability of your site.
That being said, in Host Settings->Advance Settings you could setup a new Friendly Url that would match .*/sitemap.aspx to another url/page on your site.

I have long stopped using DNN's native sitemap.aspx... ITS BUGGY!... and here is how i found out.
I generated my own "CLEAN" sitemap.xml using a free 3rd party tool. And uploaded it to the root of my DNN website.... re-submitted the the domainname.com/sitemap.xml to Google via web master tools and as a result we now get a 1ST PAGE and TOP 10 RANKING.
Mostly in the top 5... where as before using DNN's native sitemap.aspx we would get random errors which was pretty ANNOYING. Plus we got very bad Google Page Rank, But those were just my findings of better results. Note:I also place the location of the sitemap within the robots.txt file...
Although i will admit that it is extremely ANNOYING that you cannot just edit the DNN Sitemap url. This creates an issue if you've built the the site on a test server and then migrate over to production... your DNN Sitemap url only reads the firs portal alias from when you first developed the site.
Anyway, this was my findings... others may vary... just sharing.

Related

How to modify HTMLElement in index.html before page gets returned to requestor

Based on my custom URL parameters I process, I am trying to modify dynamically a meta tag I have id'ed in index.html like so:
<meta name="og:image" content="http://example.com/someurl.jpg" id="ogImage"/>
The code below in my home.ts seems to be working
document.getElementById('ogImage').setAttribute("content", Media.ImageURL) ;
I can verify it is via the browser dev console/elements.
However, when I view from facebook via their ojbect graph debugger at
https://developers.facebook.com/tools/debug/og/object/
It appears to see the default
http://example.com/someurl.jpg
as if the index.html is shipped before my home.ts gets chance to make the update.
Perhaps, my understanding is flawed and there is better way to do this.
Thank you.
Note1: initially, I was thinking I had to make some angular binding between index.html and one of my services but I could not locate any sample code, the closest I came to was this post
How can I update meta tags in AngularJS?
But I don't know how to apply it for my ionic2/3 code, so I opted for the document.get approach.
Note2: the ultimate goal here is to share a link into a social media (web or app) like facebook, a messenger like viber/skype, etc... and have it resolve to meaningful images, title, description to drive the visit back to the site via browser, or app if the user clicking on the link is on a mobile device with my app version of the site installed on his device.
Note3: if you decide to point me to ionic deeplinking please provide code to match above, because I could not understand how to apply to my case.
If you are trying to implement dynamic open graph meta tags values in your pages, you will need a server-side scripting language like php. Such a script will run on the server, update the pages as needed, then the pages will be served to the requesting site or application.
client-side scripting (ie. JavaScript) is usually ignored when a site or app is merely visiting your site/link for the purpose of extracting (aka scrapping, parsing html) information such as the one provided by the open graph meta tags (og:title, og:description og:image...).

LinkedIn share links to PDF documents

I am trying to create buttons on a web page that allow users to share links to PDF documents on LinkedIn. LinkedIn loads a window without any errors but offers no link or preview of the PDF or any indication of what is being shared.
Here are the two methods I have tried. First the plugin method.
<script type="in/share" data-url="http://example.net/DocumentDownload.aspx?Command=Core_Download&entryID=114"></script>
And, secondly with a custom url.
TEST
Encoding the url makes no difference.
The above links are direct document links from a DNN web site using Document Exchange. If I change the urls to any html page it works fine and LinkedIn seems to be able to extract the useful information right from the page and use that for the share details.
Can LinkedIn handle this kind of thing? There is nothing to guide me on the type of links that can be shared. I can't find any information about it. There are no errors in the web console.
Not sure, but you should try to provide LinkedIn with the link that has .pdf at the end, like http://example.com/documents/file1.pdf. I guess LinkedIn just checks the URL if it has .pdf file at the end to decide if it is a PDF document or not.
I have no problem sharing pdf's on LinkedIn. Check it out...
https://www.linkedin.com/sharing/share-offsite/?url=https://www.revoltlib.com/anarchism/the-conquest-of-bread/view.pdf
Works perfectly fine. And view.pdf is a script, not a file, either, so, it's not looking for a PDF file to analyze, so much as headers that indicate you have a PDF file available to analyze, so, in PHP, at DocumentDownload.aspx, we would do...
header('Content-type: application/pdf; charset=utf-8');
This header let's the sharing app know that it can analyze the document as a PDF file and extract useful information from it, as you can see from the screen shot.

How to find which file is serving ads in my application?

Ok, somehow I am serving ads in my NodeJS / AngularJS application, but I haven't include this myself.
There's some package or included link sending ads to the client, but the ads are not visible, and the adserve url changes with every request. (The url that can be seen in the screenshot below)
How do I find out which place in my application serves these ads?
PS: I am sure this doesn't come from my local dev pc, my other collegues have this issue as well.
A quick trick may be to search for the url in every files of your repository. If you use a cdn to load your librairies, try to look inside also (you can do that directly in chrome dev tool with ctrl/cmd f in the sources tab).
Hope it will help !
The "adserver" in my project turns out to be a tracking / analytics beacon included by the Realtime.co framework.
Thankfully, the author responded to my email very quickly, and they also provide a beacon-free version of their framework. So problem solved :)

Deployment of new pages from Local to Production

I've a copy of DotNetNuke website on my local machine in which I've added few pages and created new modules.
I've to move these new pages to production so have copied the pages to respective folders. I know there are few database entries that are also to be made on production database to recognize these pages and modules on production.
Please tell me how I can register these pages on production website
I searched on Google but may be I'm not getting the right keywords to search. Currently I've to restore my local db to production to run those pages. I'm using version 7 of DNN
This isn't something that DNN handles very well, publishing from a local environment to production.
The most common way (Besides backup/restore of the database) is to use page Templates. You can "Export" a page in DNN, that will generate an XML document with the modules and content referenced into the portals/#/ folder (where # is the portal id)
You can upload that file to your production site (same path) and then create a new page based on that page template.
Your question implies that you are creating .aspx files and copying those to the production server. That really isn't the way that DNN works, and you probably are creating a real mess.
How did you create the pages on your local site? Did you use the DNN functionality to create new pages, add modules to those pages, etc.? Or, did you do something else?
Use the built-in funtionality to create pages on your local installation and, as Chris
To add modules - Go to your web site in production, login as super user, and install the module, then go to the page in the web site and add it. The same as you would do with 3rd party module. This will properly add the info to db.
To add pages - You could do it within the code, using the
To create DNN page (the tab):
TabController tbc = new TabController();
//...populating the page's info
tbc.AddTab(destinationTabInfo);
To create ascx control as global (meaning doesn't belong to any module) ModuleControl.
var moduleControl = new ModuleControlInfo
{
... populate the fields
};
ModuleControlController.AddModuleControl(moduleControl);

Remove site from DotNetNuke

My company has a enrollment website that is currently in DotNetNuke. I've been directed to "strip out nuke from the site" but from everything I've read it is the opposite that the site is in dnn not the other way around.
Has anyone had to migrate a site from dnn and if so can you point me towards some resources or give some insite to get me started?
The site is dnn 5.04
If you want to strip things down to absolute bare bones (HTML, images, JavaScript), you could use a tool that basically copies down an entire website to your local machine, such as HTTrack.
Download the app, give it your DNN website's URL, and it'll spider the entire website, download each page individually, along with any of its images and scripts. You'll be (theoretically) left with a full website containing all your content pages, which you can edit in a plain text editor.
All the user management, role management, content management, admin only areas, protected content, etc. will not carry over with this method, but that will be the case regardless if you're moving from DNN to a normal static HTML website.
An "enrollment website" sounds more like an application than a static HTML site and if that's the case then just grabbing the rendered HTML isn't going to be the best option as you wouldn't get any of the functionality. My approach would be to first find out why they want it pulled out of DotNetNuke. Perhaps it was poorly implemented and they are blaming DNN when the problem was actually how it was built. DNN may be a good solution and it might be best to convince them to leave it as DNN but improve the implementation.
If you do need to pull an application out of DNN and the enrollment piece was built as a custom module, it should be fairly easy to convert the ascx files of the custom module to normal .net User Controls.
If the Enrollment application was built using a Forms Module of some form, then you will likely need to rebuild it from scratch.

Resources