Порхов расположен на правом берегу р. Шелони в далеко выдвинутом к западу изгибе её среднего течения в 75 км от Пскова. Порхов оборонял большой плодородный район и находился на скрещении путей из Новгорода на Псковщину и к литовскому рубежу. Порхов был единственным каменным укреплением, прикрывавшим столицу Новгородской земли с юго-запада и запада. По своим размерам Порховская крепость в XIV в. превосходила большинство каменных форпостов Новгородского государства.
Первоначальное Порховское поселение возникло на мысу в месте слияния рек Шелони и Дубенки, как деревоземляное укрепление. Речь идет о так называемом Старом Порховском городище, окруженном с напольной стороны двумя рядами валов и рвов. Подобные многовальные крепостные сооружения были популярны особенно в Южной Руси во второй половине XII-первой половине XIII в. Первоначальная насыпь имела высоту 1.4–2 м от древней дневной поверхности. Верх этой пасыпи был увенчан рубленой стеной, от которой сохранился нижний венец. Раскопки позволили судить о времени основания поселения на р. Шелони; оно совпадает с деятельностью Александра Невского, срубившего, как гласит древнейший из дошедших до нас списков русских летописей — Синодальный список Новгородской первой летописи, — «городци по Шелони».
